在Vim(德语键盘)中重新映射一个密钥

好吧,我一直在尝试Vim(标准控制台版本;我的操作系统是Linux Mint 13),我想摆脱必须使用Escape键来改变模式。 最好,我想交换Capslock和Escape键,但据我所知,在Vim本身中是不可能的。 我发现的大多数“解决scheme”都涉及在全球范围内(使用xmodmap或其他)更改密钥,但我并不是那么想。 如果只有在Vim中有一个简单的方法来换Capslock和Escape,请告诉我。

我听说的另一个常见的事情是使用“Ctrl- [”作为等同于Escape。 但是,因为我正在使用具有不同布局的德语键盘,所以这不是一个选项。 所以,我以为我会在Vim中使用noremap <C-ü> <Esc> (德国键盘上的“ü”键与美式键盘上的“[”键在同一位置),但是没有工作,要么。 我假设这是因为“ü”不是一个ASCII字符。 有没有办法让这些选项中的任何一个工作?

更新 :好吧,这很奇怪。 更多的实验后,似乎“Ctrl-ü”确实工作。 我不知道发生了什么 – 也许我尝试了不同的东西,搞砸了一些编码相关的设置? 如果没有好的解决scheme来重新映射capslock,我想我会坚持使用“Ctrl-ü”。

Solutions Collecting From Web of "在Vim(德语键盘)中重新映射一个密钥"

所以,是的,最终我决定和<C-ü>一起去,因为它与其他任何东西都没有冲突,因为它和美国键盘上的<C-[>相同。

但是,因为我厌倦了使用德语键盘布局进行编程(例如,要获得“{”,您需要键入“Alt Gr-7”),我将把键盘切换到US-International,就Vim而言,也有类似的效果。 这也有助于如果你想要养成触摸式的习惯; 你实际上不能看键盘,因为键没有被标记为“正确”;-)

很多人使用jk

 inoremap jk <Esc> 

你也可以简单地做<Cc>

这是另一个可能对你有用的选择! 它涉及到更改与VIM相关的键盘文件。 我在这个YouTube视频中找到了这个建议

 $ cd /usr/share/X11/xkb/symbols/ sudo vim pc 

要编辑大写锁定键以进行转义,请将大写锁定行更改为如下所示:

 key <CAPS> { [ Escape ] }; 

:wq #写入和关闭文件

注销并重新登录到机器,它应该更新!