重新映射的关键在Vim来逃生(德文键盘)(Remapping a key to Escape in

2019-09-21 13:56发布

好了,所以我一直在试用的Vim(标准控制台版本;我的操作系统是Linux Mint的13),我想摆脱不必使用ESC键来改变模式。 最好,我想交换大写锁定和退出键,但据我所知,这是不可能的Vim内部本身。 大多数的“解决方案”,我发现涉及(使用改变在全球水平的关键xmodmap或其他),但我真的不希望出现这种情况。 如果只有在Vim中有一个简单的方法来交换大写锁定和退出,请让我知道。

我听说是用另一种常见的事“按Ctrl - [”作为一个相当于逃生。 但是,因为我使用的是德国的键盘采用了不同的布局,这是不是一种选择。 所以,我想我会用noremap <C-ü> <Esc>中的Vim(德语键盘上的“U”键是在同一个地方的“[”美国键键盘),但是这并没有工作,无论是。 我猜想这是因为“ü”是不是一个ASCII字符。 有没有什么办法让这些选项的工作?

UPDATE:嗯,这很奇怪。 尝试一些后,似乎“CTRL-U”做工作毕竟。 我不知道发生了什么 - 也许我搞砸了一些编码相关的设置,同时尝试不同的东西呢? 如果重映射的CapsLock没有很好的解决方案,我想我会用“CTRL-U”坚持下去。

Answer 1:

所以,是的,最终我决定去<C-ü>因为它不与任何其他冲突,因为它是一样的<C-[>美国键盘。

但是,因为我累了采用德国键盘布局规划(例如,要获得“{”您需要键入“ALT GR-7”),我切换我的键盘美国国际,其本质有类似的效果尽可能的Vim而言。 它还帮助,如果你想要想进入触摸打字的习惯; 你居然不能看键盘,因为键不标记为“正确” ;-)



Answer 2:

很多人使用jk

inoremap jk <Esc>

你也可以简单地做<Cc>



Answer 3:

这是另一种选择,可能对你有用! 它涉及改变有关VIM键盘文件。 我发现这个建议在此YouTube视频

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

编辑的CapsLock键退出,改大写锁线如下:

key <CAPS> { [ Escape ] }; 

:wq #写和关闭文件

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



文章来源: Remapping a key to Escape in Vim (German keyboard)