-
Notifications
You must be signed in to change notification settings - Fork 0
karabiner guide windows keymap
ES edited this page Jul 16, 2026
·
1 revision
macOS 普通 GUI 应用中,Karabiner 会交换左 Ctrl 与左 Cmd,让复制、粘贴、全选和常用系统操作接近 Windows/Linux 习惯
这是理解整套快捷键的前提:普通 GUI 应用会交换,终端、Neovide 和远程客户端不会交换
| 物理按键 | 普通 GUI 应用中的结果 |
|---|---|
| 左 Ctrl | 左 Cmd |
| 左 Cmd | 左 Ctrl |
因此在浏览器、Finder 等普通应用中:
- 物理
Ctrl-c/v/x/a/z对应 macOS 的复制、粘贴、剪切、全选和撤销 - 物理左 Cmd 更接近 Windows Ctrl 的位置和行为
右侧 Ctrl/Cmd 不参与这项全局交换
终端和远程客户端需要看到真实的 Ctrl,因此不会交换:
- Kitty
- WezTerm
- Ghostty
- Terminal
- iTerm2
- Neovide
- RDP、VNC、NoMachine、Moonlight 等远程客户端
例如在终端中,配置里的 Ctrl-Shift-t 就是物理 Ctrl,不需要按 Cmd
| 物理快捷键 | 功能 |
|---|---|
Ctrl-l |
锁定屏幕 |
Ctrl-i |
打开系统设置 |
Ctrl-e |
打开 HOME 目录 |
Ctrl-Shift-Left/Right |
按单词向左或向右选择文本 |
锁屏通过 ~/scripts/lock-screen.sh 执行,避免使用 osascript 合成按键时触发 TCC 权限问题
macOS 会把 Option-h 参与输入法或死键处理。Neovide 中的 Ctrl/Command-Alt-h 会被 Karabiner 转换为 F19,再由 Neovim 配置接收,从而稳定完成向左导航
配置禁用了普通 GUI 应用中的左 Cmd + h,防止误触 macOS 的“隐藏当前应用”。终端和远程客户端仍在豁免范围内
确认终端 bundle identifier 仍包含在 Karabiner 豁免列表,并检查是否启动了另一个会改键的软件
打开 Karabiner-Elements,确认当前 profile 启用,Complex Modifications 中的 Ctrl/Cmd 规则处于活动状态
远程客户端应被豁免,让物理 Ctrl 原样发送给远端。新增远程客户端时,需要把它的 bundle identifier 加入相同条件
配置真源为 ~/.config/karabiner/karabiner.json