我正在使用RHEL YUM存储库中的Vim。 (RHEL 7.5; Vim 7.4)。
#1 楼
通常,C-[
也是一种退出插入模式的方法。有些人喜欢在插入模式下映射jj
,以退出并返回普通模式。我个人更喜欢jh
,因为这样可以使我的手指更好地“滑动”,而且我的中指也不会过分紧张。在我的neovim设置中的某个地方: />
此重新映射
jh
以在插入模式下转义。这是您想要的吗?
评论
Ctrl- [与'ESC'相同
–草药
18年8月1日在21:20
我玩了一下,还发现这个作品:“:inoremap
– Beam Davis
18年8月1日在23:31
另外,也不需要大写字母。
– Beam Davis
18年8月1日在23:38
是的,不需要大写,并且'ino'较短,但是在我的配置中,我更喜欢简洁而不是快捷键。我很高兴我帮助了!
–阿米尔·埃尔多(Amir Eldor)
18年8月2日在12:48
虽然简洁很酷,但所有的一切……毕竟是机智的灵魂……我猜你是在说别的东西。明晰?细心?不简短? ;)
– B层
18年8月28日在4:11
#2 楼
TL; DR将esc重新映射到主行实际上很好。这是您决定将其映射到什么的方法:挑起一只手,并以最快的方向尽可能快地在桌面上滚动四根手指。用它来选择要重映射的键。
对我来说,从小指滚动到食指更自然。因此,我选择使用
kj
。另外,我执行了grep -rHin kj ~/src
(我所有源代码的父目录上的递归grep),但没有找到匹配项。" esc in insert mode
inoremap kj <esc>
" esc in command mode
cnoremap kj <C-C>
" Note: In command mode mappings to esc run the command for some odd
" historical vi compatibility reason. We use the alternate method of
" existing which is Ctrl-C
注意:如果确实需要键入文字
kj
(或您所映射的任何内容) ),只需在2秒之间输入它们即可。 (您会发现光标在第一个字符之后犹豫不决。键入第二个字符之前,请先等待它移动。)我已经使用
vim
已有19年了。当苹果更新他们的MacBook Pro使其具有触摸条且没有物理esc键时,我感到非常震惊。我看到了一篇帖子,建议将jj
和jk
映射到<Esc>
并讨厌它。但是每次让我烦恼的时候,我都会耐心地记下索引卡。大约15分钟后,我查看了笔记并提出了上面的TL; DR来解决以下问题:当我不处于插入模式时,我倾向于点击esc allot以确保“确定”和
jj
会使我掉两行。jk
是无操作(向下,向上),但kj
对我来说更自然。我不希望完成命令。我希望我能在写完几分钟后终于改掉在其他应用程序中按esc并关闭Windows的习惯。我宁愿插入散乱的kj字符,也不愿失去工作!
评论
请注意,对于您的cnoremap,当esc来自映射时,它将执行命令,而不是中止命令。那是因为与vi兼容的原因
–克里斯蒂安·布拉班德(Christian Brabandt)
18/12/4在7:01
在插入和命令模式下,esc仍然有效。但是,您也可以使用此替代主行组合。也许我没听懂你的意思。
–布鲁诺·布鲁诺斯基(Bruno Bronosky)
18/12/4在7:34
关键是,对于命令模式,来自映射的转义不会中止命令,而是运行它。试试:ls kj
–克里斯蒂安·布拉班德(Christian Brabandt)
18/12/4在7:46
@ChristianBrabandt你是正确的。该怎么办?或至少在哪里记录?我什至无法提出像样的搜索字词来找到有关此的任何信息。
–布鲁诺·布鲁诺斯基(Bruno Bronosky)
18/12/6在3:06
我不记得是否有相关记录,几年前我偶然发现了这种行为。嗯,它有点记录在:h c_Esc:在宏中开始输入命令。 (宏通常还包括映射)
–克里斯蒂安·布拉班德(Christian Brabandt)
18/12/6在7:12
#3 楼
如果您使用的是非英语键盘布局,则可以将多余的键转换为优势!例如,匈牙利语布局的ö(o umlaut)在英语键盘上为0。大多数人永远不会在vim中使用这封信。
所以我只是无所畏惧地将Esc重新映射到了它。但是正如Bruno所发现的那样,在命令模式下重新映射到Esc会改变行为,因此我们在这里使用了等效的Ctrl + C:
评论
它们不相等!简单示例:5ii
– D. Ben Knoble♦
20-11-10在13:22
@ D.BenKnoble谢谢!编辑。我对Vim的了解还不算很深。
– Neinstein
20-11-10在13:54
评论
交叉发布:unix.stackexchange.com/questions/459901/remap-esc-key-in-vim无论您做什么,都不要将esc映射到其他东西。将其他内容映射到esc。