繁体   English   中英

如何将菜单键(“应用程序键”)映射到 vim 中的退出键?

[英]How to map Menu key (“Application key”) to Escape key in vim?

我认为使用 Menu 键退出 vim 的插入模式将是一件好事。 使用 Super 键也很好,但我不确定是否可能,因为 Super 键是一个修饰符。

无论如何,我找不到与此相关的任何内容。 寻求您的帮助并提前致谢!

我认为没有任何方法可以将 Vim 配置为关注 Menu 键,但是根据您的系统,有多种方法可以将 Menu 键转换为 Escape 键。

如果您在 Linux 上使用 X11:

  • 命令xmodmap -e 'keycode 135 = Escape'会将您的菜单键变成当前会话的 Escape 键,但不是永久的。 要使其在 Gnome 下永久存在,您可以尝试在系统 → 首选项 → 启动应用程序下添加它。
  • xkeycaps程序将为您提供用于类似重新映射的 GUI。

想要查询更多的信息:

http://46dogs.blogspot.com/2008/05/remap-keys-in-ubuntu-804-hardy-heron.html

http://ubuntuforums.org/archive/index.php/t-106209.html

我还没有找到在 gVim 中映射它的方法,但是我能够通过以下方法成功映射urxvt + screen + vim堆栈中的 Menu 键:

  1. 在终端中,键入Ctrl + v并按Menu 这映射到 Zsh 和基于 Readline 的工具(如 Bash)中的quoted-insert函数。
  2. 它会在提示符下生成一个类似^[[29~的转义序列。 (首字母^[必须转换为<Esc>以在.vimrc使用。)
  3. 打开.vimrc并添加如下一行:
imap <Esc>[29~ <Esc>

(或imap <Esc>[29~ <Esc><Esc>如果您不希望它像 Escape 键那样等待进一步输入。)

请注意,并非所有键都从Ctrl + v返回可用的内容。 这是终端模拟器的限制,可以通过重新映射密钥来解决。 您可以在终端模拟器级别而不是所有 X 应用程序级别执行此操作。

例如,对于urxvt ,我必须urxvt添加到~/.Xresources xrdb -merge ~/.Xresources并运行xrdb -merge ~/.Xresources来应用它们:

! Unbreak zsh keys in URxvt
URxvt*keysym.Home: \033[1~
URxvt*keysym.End: \033[4~

\\033~/.Xresources语法中的<Esc> 。)

只需尝试使用ctrl + [而不是绑定另一个键。 这种组合是vim中的标准组合,顺便说一句。

当将大写锁定回弹到额外的ctrl时,这更容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM