重新映射到Vim中的Escape键(德语键盘)

时间:2012-08-23 16:19:18

标签: linux vim keyboard console

好的,所以我一直在尝试Vim(标准的控制台版本;我的操作系统是Linux Mint 13),我想摆脱不得不使用Escape键来改变模式。最好,我想交换Capslock和Escape键,但据我所知,这在Vim内部是不可能的。我发现的大多数“解决方案”都涉及在全局范围内更改密钥(使用xmodmap或其他),但我真的不希望如此。如果有一种简单的方法可以在Vim 中交换Capslock和Escape ,请告诉我。

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

更新:嗯,这很奇怪。在进行了一些实验之后,似乎“Ctrl-ü”确实起作用了。我不确定发生了什么 - 也许我在尝试不同的事情时搞砸了一些编码相关的设置?如果重新设置大写锁定没有好的解决方案,我想我会坚持使用“Ctrl-ü”。

3 个答案:

答案 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#编写并关闭文件

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