如何在.vimrc中映射ALT-return?


1

我正在尝试在我的.vimrc中映射左Alt和返回键的组合,但没有成功。

我已将所有这些映射添加到我的.vimrc文件中,没有任何效果:

map <M-esc> itest0<return><esc>
map <M-cr> itest1<return><esc>
map <M-return> itest2<return><esc>
map <M-enter> itest3<return><esc>
map <M-[> itest4<return><esc>
map ^[ itest5<return><esc>

一些信息:

Ctrl+ 后v然后Alt+ return

  • 在我的终端我得到 ^[
  • 在vim(和gvim)的插入模式中,我得到了 ^[
  • 打电话后sed -n l我得到:
^[
\033$

我在Arch Linux上使用终结器。无论我使用vim还是gvim,描述的行为都是相同的。我应该做些什么?

Answers:


3

由于键盘输入在内部处理的方式,遗憾的是今天通常不可能,即使在GVIM中也是如此。某些键组合(如Ctrl+非字母)无法映射,Ctrl+字母与Ctrl+ Shift+字母无法区分。(除非您的终端为其发送不同的termcap代码,但大多数情况下都没有。)在插入或命令行模式下,尝试键入组合键。如果没有任何反应/插入,则无法使用该组合键。这也适用于<Tab>/ <C-I><CR>/ <C-M>/ <Esc>/ <C-[>等(只有异常是<BS>/ <C-H>。)同样适用于Alt和非字母键。这是一个众所周知的痛点,也是关于vim_dev和#vim IRC频道的各种讨论的主题。

有些人(最重要的是Paul LeoNerd Evans)希望解决这个问题(即使是支持这种情况的终端中的控制台Vim),并提出了各种提案,cp。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今天,尚未有任何补丁或志愿者挺身而出,尽管许多人表示希望在未来的Vim版本中有这个。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.