鉴于ESC
键离主键盘区域太远不容易按,所以在VIM中,我经常把其它键重新映射为ESC键,或者说具有ESC功能。
有两种映射方式,一种是在vim配置文件中设置按键映射,一种是在电脑系统设置里面修改物理按键映射。
VIM中的映射
1 2 |
|
这个就看个人爱好,有些人喜欢两个手指按,有些人喜欢一个手指按。
我觉得轮指很帅,所以一直用 jk
。
物理按键的重映射
要映射物理按键,做法是把一个不常按的键、不是没它不行的键映射过去。当然是 Caps Lock
咯!
虽然很多人(可能是 HHKB 用户)把 Caps Lock
改成了 Ctrl,但是我实在觉得 Ctrl 没有 ESC 常用。
注:Linux下面映射要装特殊的驱动才行好像,忘记了。不讨论 Windows。
在 macOS 10.12.1 之后要映射就简单了,因为系统设置里面可以直接修改!超级方便!估计是因为 Touch Bar 出现的原因。
位置:系统设置 → 键盘 → 键盘快捷键... → 修饰键 → Apple 内置键盘/触控板 → 大写锁定键。
哇,这样一来,ESC就在左手小指左边,甭提那是有多方便了!
注:这个系统设置里面的设置是针对整个系统而言的,并不是只针对VIM。
之前的 macOS 版本不能直接映射到 Caps Lock
键,具体参考文后的链接。还有用老版本的?
参考链接
macos - Using Caps Lock as Esc in Mac OS X - Stack Overflow
后续
我发现我把Caps Lock
映射成ESC
后,别的同事用我电脑的时候,经常出现莫名其妙一顿搞不懂的操作🤣🤣。
他们经常会吐槽:
- 你竟然还用 Vim?什么反人类键盘啊!
Caps Lock
映射成ESC
?- 不应该是
CTRL
吗? - 啊你这输入法怎么切换啊!
- 不应该是
- 火狐浏览器?
- 啊你这什么浏览器?
- 这年头谁不是 Chrome 啊!
- 我用五笔打字。“您老了。”
我是不是有点异类了🌚?
哪里会是异类,趁手的工具就是好工具哈哈哈,我在编辑器里装了vim,同事用我电脑,我就直接把vim禁用(要不然他们每回都吐槽),是他们不懂这些工具的好,必不可能是我们的问题哈哈哈
就是就是!
我就按
i
进入插入模式给他们用,谁敢乱按 ESC 退出去我要打手!有一个问题就是,进入insert模式后,同事code的时候复制Command+C,vim就自动退出insert了,不知道这个应该是正常呢,还是不正常,我现在就是习惯了Command+C复制的同时退出Insert,不太敢随便乱改vim键映射,怕整坏了,恢复不回去哈哈
但其实我是想把command+c的复制键跟编辑器内的vim键改为不冲突的,复制就是复制,不用退出,现在就是主打一个编辑器快捷键和vim肩并肩,一起使用的状态。
我早就叛变了,现在已经不专门使用 vim,而是在 VsCode 里面使用 Vim-KeyBindings。
不过,我刚实测在 Vim/NVim/Vscode 里面都没有出现你描述的情况。咱说的是 MacOS 下的
Command
键吧?当然,最好的做法是:任何人都不要碰我的电脑💻!
是的呢,我也是在vscode中装了一个插件叫做vim,这个就是你说的Vim-KeyBindings吧
具体的操作就是:在insert模式下select -> command+c(复制),然后就自动变成Normal模式了。
居然不能复现吗?我以为他就是这么设置的呢?原来是有我有么?amazing!😱
我早期用的是 VsCode Vim,现在用的是 VsCode NeoVim,速度快很多,Bugs 也少很多。换过来有一段时间了,不知道前者有没有优化。刚刚实测在 VsCode 里面没有这个问题。
!这就换