我喜欢用 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 就选择不启用)
也可以把它加到系统启动项:
- Win + R,输入
shell:startup
, 回车。
- 把需要开机启动的脚本右键,复制。
- 在打开的文件夹中点击右键,粘贴快捷方式。
5 个赞
lz大概是没用过mac里的Karabiner-Element吧
1 个赞
Roife
3
我在Windows上也用ahk模拟了一套Emacs键位
1 个赞
感谢分享,Windows系统全局使用Emacs键位,真的太爽了。
更新:AHK 定制比Xkeymacs方便,可以把Windows用的和linux一样爽
弱弱的问一下,各位大神为什么要让win的快捷键往emacs上靠?我是新手,我想问下这样做有什么好处,其实我一直有个想法,把emacs的快捷键搞成win的,这样用起来能统一,Linux目前主流的几个桌面也都往win上靠了。我想问下各位大神,我如果这样做了,会有什么弊端。
bing
6
win的操作是鼠标为主,快捷键是辅助,键位也围绕辅助鼠标来设计。
emacs用键盘控制一切,鼠标可有可无。
习惯问题,主要是 Emacs 有些键位和 Win 风格的冲突比较大,你想要自己定制一套 Emacs 配置兼容 Win 键位的话不太容易。
把emacs快捷键改成win的可不太容易,主流linux桌面往win上靠,是指的那个桌面?
发行版的比如ubuntu,自带的桌面我忘了叫啥了,现在都是c-c c-v复制粘贴了,国产机更不用说了,整个一个windows主题。
这个真是太给力了,因为要在 virtualbox windows 虚拟机中用钉钉,有了这个在钉钉中输
入也就没那么痛苦了。
为了解决windows虚拟机与linux宿主机间剪切板常常失灵的问题,我还在跑了一套通过本地
网络共享剪切板的应用:
GitHub - iayanpahwa/anywheredoor: Cross Platform E2E encrypted clipboard sharing utility