[转]Windows 中开启全局 Emacs 快捷键

windows

#1

我喜欢用 Emacs,其中最让我觉得顺手的功能就是控制光标的那几个快捷键。 把键盘上的 CapsLock 映射为 Control,这样小拇指按起来方便,然后用 C-a, C-b, C-n, C-p 等快捷键来控制光标移动,一旦习惯养成,再难以自拔。

Mac 笔记本最令我满意的一点就是它的快捷键默认和 Emacs 是一致的。 这得益于它的 Command 键和 Ctrl 键的分离。 复制、粘贴、全选、新建标签页等功能都是用 Command 键来引导, 而文字控制都是通过 Ctrl 键。大小拇指一起飞舞,体验极为流畅。

然而,Command 键也有它不方便的地方: 我使用 Emacs 的时候,都习惯把空格左边的键当成 Meta来使用。 而这个键在 Mac 系统中恰恰被 Command占据了。

终于,我发现了在 Windows 中模拟 Emacs 快捷键的方法, 不仅完全实现了想要的功能,还避免了 Mac 系统中 Meta 键的尴尬。

需要的仅仅是:AHK (AutoHotKey)

具体的 AHK 脚本参考这里:shiman/dotfiles。 安装好 AHK 主程序后,将上边的脚本下载下来,右键,启动脚本即可。

可以支持以下功能:

  • Emacs 风格的光标移动
  • Ctrl+Space 选取文本
  • Emacs 风格的复制、粘贴
  • 可以只针对不同应用(甚至应用的不同状态)来决定是否启用(比如对 mintty 就选择不启用)

也可以把它加到系统启动项:

  1. Win + R,输入 shell:startup , 回车。
  2. 把需要开机启动的脚本右键,复制。
  3. 在打开的文件夹中点击右键,粘贴快捷方式。

#2

lz大概是没用过mac里的Karabiner-Element吧


#3

我在Windows上也用ahk模拟了一套Emacs键位