2016-11-27 73 views
1

我想映射一个按下shift +命令的按键,然后按Enter键在当前行的上方插入空白行。如何使其工作?目前我有这个。vim键映射按住2键并输入

nmap <S-Enter> O<Esc>j 

我使用的MacVim

+1

Vim不支持多个修饰键,所以你不能'',例如。 –

回答

1

由于该键盘输入是内部处理的方式,今天这个不幸的是,不是一般的可能,甚至在GVIM。一些组合键,像按Ctrl(名为命令在Mac)+非字母不能被映射,并按Ctrl +信与按Ctrl ++信无法区分。 (除非你的终端发送了一个明确的termcap代码,但大部分都没有。)在插入或命令行模式下,尝试输入组合键。如果没有任何事情发生/插入,则不能使用该组合键。这也适用于<Tab>/<C-I><CR>/<C-M>/<Esc>/<C-[>等(仅例外是<BS>/<C-H>)。这是一个已知的痛点,并在vim_dev各种讨论和#vim IRC频道的主题。

有些人(最重要的是保LeoNerd埃文斯)要解决这个问题(即使控制台Vim的支持此终端),并已飘来各种建议,CP。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但是截至今日,还没有补丁或志愿者尚未出面,但许多人表示希望在未来的Vim版本中有此功能。