2017-09-30 56 views
2

我在Windows 10上使用gvim,并试图获得一个好的键盘映射来打开一个垂直分割到一个新文件。我第一次尝试vim键映射正在被回车

nnoremap <c-m><c-m> :vnew<CR> 

但由于某些原因,如果我击回车连续两次在正常模式下,我会得到一个新的垂直分割窗口。所以我把后回车出键映射的

nnoremap <c-m><c-m> :vnew 

,仍然可以得到一个新的垂直分割窗口,如果我打回车在正常模式下的三倍,这对于一些原因,我觉得自己做的事情。

为什么在_vimrc的键映射中甚至没有回车符时,回车会将键设置为关闭映射?我重新启动vim没有任何效果。

回答

5

从Vim的角度来看,<C-m><CR><CR><C-m>

他们相同的密钥所以你不能映射的东西<C-m>没有它映射到<CR>,反之亦然。

您需要为您的映射找到另一个组合键。

0

由于键盘输入在内部处理的方式,现在这种情况通常不可能,即使在GVIM中也是如此。一些组合键,像按Ctrl +非字母不能被映射,并按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版本中有此功能。