Vim的键映射在gui模式和cli模式之间表现不同

时间:2013-12-03 02:58:30

标签: vim

我一直试图解决这个问题已经很久但仍然失败了,我的一些自定义键映射(其中大部分用于插件)在gui-mode和cli-mode之间表现完全不同,即使我使用带有-v标志的gui-mode命令(如mvim -v)或在终端Vi中使用:gui命令。

例如,Emmet插件很方便扩展HTML / CSS表达式,默认触发键<C-y>一开始就不起作用(在我经常使用的Cli模式下),我一直都不知道为什么,直到有一天我使用MacVim一段时间突然发现它有效!

之后,我尝试将默认触发器从<C-y>重新映射到<C-e><C-k>,这两种触发器在MacVim中运行良好但在终端Vim中仍然不吉利。

是否有任何特殊原因导致此问题?我的配置可能有问题吗?

任何建议都将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

最后我自己解决了,但感谢@ebenezer的提醒。

我们经常使用set timeoutlenset ttimeoutlen来调整关键代码或映射序列的延迟。我们大多数人都无法容忍ttimeoutlen的默认值(-1),因为当按ESC或{退出插入模式时,它会迫使我们等待这么久{1}}。

由于这个特殊原因,我将此值更改为Ctrl-[(以毫秒为单位),但我从现在不记得的地方复制此设置,并将10放在{{1}中对于所有文件类型,如下所示:

set ttimeoutlen

我不知道为什么这会让一些插件无法正常工作,我现在更改它以使其适用于我:

autocmd

希望如果您遇到同样的问题,这将对您有所帮助。