我认为使用Menu键退出vim的插入模式将是一件好事。使用Super键也很不错,但我不确定是否可能,因为Super key是一个修饰符。
无论如何,我找不到与此相关的任何内容。寻求你的帮助,并提前感谢!
答案 0 :(得分:3)
我认为您无法将Vim配置为关注菜单键, 但根据您的系统,有多种方法可以将菜单键转换为转义键。
如果你在Linux上使用X11:
xmodmap -e 'keycode 135 = Escape'
会将您的菜单键变为当前会话的退出键,但不是永久性的。要在Gnome下使其永久化,您可以尝试在系统→首选项→启动应用程序下添加它。xkeycaps
程序将为您提供类似重映射的GUI。了解更多信息:
http://46dogs.blogspot.com/2008/05/remap-keys-in-ubuntu-804-hardy-heron.html
答案 1 :(得分:0)
尝试使用 ctrl + [而不是绑定另一个键。这个组合是vim中的标准组合,顺便说一句。
将 capslock 反弹到另外的 ctrl 时,这更容易。
答案 2 :(得分:0)
我还没有找到在gVim中映射它的方法,但是我能够通过以下方式成功映射urxvt
+ screen
+ vim
堆栈中的Menu键方法:
quoted-insert
函数。^[[29~
之类的转义序列。 (最初的^[
必须转换为<Esc>
才能在.vimrc
中使用。).vimrc
并添加如下一行:imap <Esc>[29~ <Esc>
(或imap <Esc>[29~ <Esc><Esc>
,如果您不希望它像Escape键那样等待进一步的输入。)
请注意,并非所有键都能从 Ctrl + v 返回可用的内容。这是终端仿真器的限制,可以通过重新映射密钥来解决。您也许可以在终端仿真器级别而不是所有X应用程序上执行此操作。
例如,对于urxvt
,我必须将以下行添加到~/.Xresources
并运行xrdb -merge ~/.Xresources
来应用它们:
! Unbreak zsh keys in URxvt
URxvt*keysym.Home: \033[1~
URxvt*keysym.End: \033[4~
({\033
在<Esc>
语法中是~/.Xresources
。)