2017-06-18 13 views
1

有没有办法在vim中有 noremap <tab> <c-w><c-w>而不损坏Ctrl + i用于在先前打开的文件中向前移动,但用Ctrl + o退回?是否可以使用tab在缓冲区之间移动,同时保持Ctrl + i CR-i作为“前进”的步骤?

我今天了解到,显然是“CTRL + I和标签被认为是在vimrc里一样吗?

是否有可能在按Ctrl +我从压片分离行为? 感觉就像我失去了某物明显的地方。

// VIM nooub

+0

其他想法是 - 他们为什么一样? – Alisso

回答

1

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

有些人(最重要的是Paul LeoNerd Evans)想要解决这个问题(甚至在支持这种终端的终端上使用Vim),并且提出了各种各样的建议。 http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

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

2

<C-i><Tab>是无法区分的Vim的和最如果不是所有的终端仿真器。因此,映射什么<Tab>也将其映射到<C-i>,反之亦然。

请注意,您不应使用noremap。对于非递归正常模式映射使用nnoremap,对于非递归插入模式映射使用inoremap等。

相关问题