有人为了平息 Vimer 和 Emacser 之间的争论说了这样一句话 :
Emacs 是编辑器之神, Vim是神的编辑器.
乍一听, 以为是在调侃. 然而仔细一想, 也确有几分道理.
Emacs 的特点在于广, 写代码, 浏览网页, 煮咖啡, 好像它什么都能干, 在编辑器里面也确实能够封神了;而 Vim 的特点在于精, 只是编辑文件, 但是它与普通的编辑器可大不相同, Vim 有好几种模式, 不像 Emacs 需要通过大量的组合键来完成编辑, 只要切换到某种特定的模式, 单个按键就可以完成编辑命令, 这种编辑方式快速, 高效, 简直是运指如飞, 也确实是神才能具有的编辑器了.
Vim 偶已经试用过了, 确实非同一般; 但还是禁不住 Emacs 的诱惑, 也试用了一下.
Emacs 中几乎每个命令都少不了 Ctrl 键, 有的组合键长度适中, 不管是用左 Ctrl 还是右 Ctrl, 按着都很舒服; 但有几个组合键不是太长就是太短, 按着着实别扭. 虽然偶的手很大, 但是这样来回拉扯, 时间一长也变得酸麻无力.
不甘心就这样放弃, 于是偶去百度 Google 了一下, 终于发现:
原来在 Emacs 中 Ctrl 键不是用按的, 而是用压的, 对就是用你的手掌侧面压的. 赶快试了一下, 果然很给力, 腰也不酸了, 手也不疼了.
但是偶还是发现了一个问题, 主键区按键的分配其实是相当对称的, 但是有些地方却也存在问题, 我们亲爱的 Ctrl 就位列其中.
Alt 键和 Win 键分居空格键的两侧, 非常标准; 本来 Ctrl 键也应该非常标准的分居在空格的两侧的, 偏偏有个右键菜单键加塞在右 Win 和右 Ctrl 之间, 很是扎眼.
这样 Ctrl 键的完美对称就被打破了, Emacs 变得不完美了. 怎么办? 只有把它踢出去.
经查该键学名为 Application . 哼, 找到名字就好办了.
在 Windows 下, 我们采用注册表修改键盘映射的办法来修改此键. 反正平时也用不着这个键(该键是鼠标右键的一个子集), 既然多了这么一个键, 索性就把它改为右 Ctrl , 这样我们在键盘右侧就有两个 Ctrl 键了, 一共有三个 Ctrl 键了.
首先打开注册表 regedit , 定位到路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
在右侧右键新建, 选择"二进制值", 名称为: "Scancode Map"
打开 Scancode Map 进行编辑
1. 输入 8 个字节的 00 , 也就是 16 个 0 , 作为开始符
2. 紧接着填写映射项数, 修改一项应该填写 02 00 00 00 , 修改五项则应填写 06 00 00 00 , 我们只修改一项应填写 02 00 00 00
3. 填写键盘映射的目标字节码和源字节码, 目标字节码在前, 源字节码在后. 每个键的字节码为两个字节.
Application(右键菜单键)的字节码为 5D E0 , 右 Ctrl 键的字节码为 1D E0
要将 Application 键映射为右 Ctrl 键则应填写 1D E0 5D E0
4. 最后填写 4 个 字节的 00 , 作为结束符