当我在普通模式下使用vim时,我经常不小心按下TAB键,TAB键默认与Ctrl-I做同样的事情。我想让按键 TAB 不执行任何操作,所以我将这一行放入 vimrc 文件中:
nmap <TAB> :echo<CR>
因此,TAB 键不会执行任何操作,但这也使得 Ctrl-I 键也不会执行任何操作。 那么,如何让 TAB 不执行任何操作,而 Ctrl-I 在 vim 中(正常模式)也能正常工作呢?
最佳答案
由于键盘输入的内部处理方式,不幸的是,这在今天通常是不可能的,即使在 GVIM 中也是如此。某些组合键,例如 Ctrl + 非字母 无法映射,以及 Ctrl + 字母 与 Ctrl + Shift + 字母无法区分。 (除非您的终端为其发送了不同的 termcap 代码,而大多数终端都没有。)这也适用于 <Tab>
/<C-I>
, <CR>
/<C-M>
这是一个已知的痛点,也是 vim_dev 和 #vim IRC channel 上各种讨论的主题。
有些人(首先是 Paul LeoNerd Evans)想要修复这个问题(即使是支持此功能的终端中的控制台 Vim),并且已经 float various proposals .
但截至今天,还没有补丁或志愿者主动提出,尽管许多人表示希望在未来的 Vim 8 主要版本中提供此功能。
关于vim - 如何在 VIM 中取消 TAB 映射并且不使 Ctrl-I 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641942/