autohotkey模拟mac中英文切换和ESC切成英文(适配vim)

使用了 AutoHotKey,

并使用文章https://blog.csdn.net/qq_42742845/article/details/146658345中描述的方法,同时增加了vim 的Esc能够直接改成英文.

cpp 复制代码
; vim ESC转换英文
~*Esc::
{
	Send "{Shift}"
}
#Requires AutoHotkey v2.0
; 禁用原生CapsLock功能
*CapsLock::return


; 初始化状态跟踪
isCapsActive := false  ; 大写锁定状态
inputMethodState := 0  ; 输入法状态跟踪器

$CapsLock::
{
    global isCapsActive, inputMethodState
    startTime := A_TickCount
    threshold := 300    ; 长按判定阈值
    hasLongPressed := false  
    
    ; 实时检测长按状态
    Loop {
        Sleep 10
        
        ; 达到阈值立即触发大写锁定
        if (A_TickCount - startTime >= threshold) && !hasLongPressed {
            if !isCapsActive {
                SetCapsLockState True
                isCapsActive := true
            } else {
                SetCapsLockState False
                isCapsActive := false
            }
            hasLongPressed := true
        }
        
        ; 检测是否提前松手
        if !GetKeyState("CapsLock", "P") {
            break
        }
    }
    
    ; 短按处理
    if (!hasLongPressed) {
        if isCapsActive {
            ; 大写状态下短按:关闭大写
            SetCapsLockState False
            isCapsActive := false
        } else {
            ; 普通状态下短按:切换输入法
            Send "{LCtrl down}{Space}{LCtrl up}"
            ; 同步输入法状态
            inputMethodState := !inputMethodState  
        }
    }
    
    ; 确保大写状态同步
    if (hasLongPressed) {
        KeyWait "CapsLock"  ; 等待物理按键释放
    }
}

; 状态重置热键 (Ctrl+Alt+R)
^!r:: {
    global isCapsActive := GetKeyState("CapsLock", "T")
    TrayTip "状态已重置", "当前大写状态:" (isCapsActive ? "ON" : "OFF"), 1
}

保存上述文档为autohotkey.ahk到C:\Users\ashcn\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹中自启动或者命令行输入shell:startup进入该文件夹

设置 > 时间和语言 > 语言 > 输入法选项 > 高级键盘设置

注意:我使用的是微软自带输入法并设置shift 和 Ctrl + Space切换中英文

相关推荐
小小程序员mono19 分钟前
WWDC 2026 之后,M5 桌面 Mac 上市时间预测
macos·ios·wwdc
yuguo.im42 分钟前
Mac M4 安装 sd-webui 踩坑全记录
macos·stable diffusion
守城小轩3 小时前
Chromium 146 编译指南 macOS篇:获取源代码(四)
macos
comcoo3 小时前
避坑指南:OpenClaw v2.7.9 Windows/macOS 零基础安装全过程
人工智能·windows·macos·github·开源软件·open claw·open claw部署包
robinLi09133 小时前
docker mac 下载不同系统架构镜像
macos·docker·容器
卡卡西Sensei4 小时前
2026 苹果 WWDC 完整总结
macos·ios·wwdc
Tr2e18 小时前
🐱 从 0 到 1:用 Swift 手搓一个 macOS 桌面宠物(附源码)
macos·ios·swift
Mac技巧大咖21 小时前
macOS 27 或成 Intel Mac 分水岭:老款 Mac 用户升级前要注意什么?
macos·macos 27
上天_去_做颗惺星 EVE_BLUE1 天前
【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
linux·运维·服务器·ubuntu·macos·centos
REDcker1 天前
WWDC2026系统更新综述
macos·ios·开发者·apple·wwdc·ipados·wwdc2026