好的,所以我一直在尝试Vim(标准的控制台版本;我的操作系统是Linux Mint 13),我想摆脱不得不使用Escape键来改变模式。最好,我想交换Capslock和Escape键,但据我所知,这在Vim内部是不可能的。我发现的大多数“解决方案”都涉及在全局范围内更改密钥(使用xmodmap
或其他),但我真的不希望如此。如果有一种简单的方法可以在Vim 中交换Capslock和Escape ,请告诉我。
我听说的另一个常见的事情是使用“Ctrl- [”作为Escape的等价物。但是,因为我使用的是具有不同布局的德语键盘,所以这不是一个选项。所以,我以为我在Vim中使用noremap <C-ü> <Esc>
(德国键盘上的“ü”键与美国键盘上的“[”键位于同一位置),但这也不起作用。我假设那是因为“ü”不是ASCII字符。有没有办法让这些选项中的任何一个起作用?
更新:嗯,这很奇怪。在进行了一些实验之后,似乎“Ctrl-ü”确实起作用了。我不确定发生了什么 - 也许我在尝试不同的事情时搞砸了一些编码相关的设置?如果重新设置大写锁定没有好的解决方案,我想我会坚持使用“Ctrl-ü”。
答案 0 :(得分:1)
所以,是的,最终我决定使用<C-ü>
,因为它与其他任何内容都没有冲突,因为它与美国键盘上的<C-[>
相同。
然而,因为我厌倦了使用德语键盘布局进行编程(例如,为了得到“{”你需要输入“Alt Gr-7”),我正在将我的键盘切换到美国国际,就Vim而言,它基本上具有类似的效果。如果你想要养成触摸打字的习惯,它也会有所帮助;你实际上看不到键盘,因为键没有标记为“正确”; - )
答案 1 :(得分:0)
很多人使用jk
:
inoremap jk <Esc>
您也可以执行<C-c>
。
答案 2 :(得分:0)
这是另一种可能对您有用的替代方案!它涉及更改与VIM相关的键盘文件。我发现了这个建议on this youtube video
$ cd /usr/share/X11/xkb/symbols/
sudo vim pc
要编辑大写锁定键以进行转义,请将大写锁定行更改为如下所示:
key <CAPS> { [ Escape ] };
:wq
#编写并关闭文件
注销并重新登录到机器,应该更新!