在插入模式下,<c-i> 的 vim 映射

3

我在插入模式中遇到了映射键的问题。一旦在vim中执行此命令,我的标签也指向了映射到的位置。

已执行的映射命令:

:inoremap <c-i> <Up>

现在,:imap 的功能如下:
i  <Tab>     * <Up>

我需要快速帮助调试这个问题。


3
<C-I> 就是 <TAB>,无可避免(就像 <C-[><ESC> 一样)。如果你想映射其中一个,就必须同时映射另一个。 - FDinoff
请查看此处:http://superuser.com/q/770068 - glts
1个回答

2
由于键盘输入的内部处理方式,即使在GVIM中,通常情况下这是不可能实现的。一些键组合,如Ctrl + 非字母键无法映射,而Ctrl + 字母与Ctrl + Shift + 字母之间也无法区分(除非您的终端为其发送不同的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 8主要版本中拥有此功能的愿望。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接