![](/img/trans.png)
[英]Why does vim say “Not Connected” when I use a remapped key to access a plugin command
[英]Why does Vim delay on this remapped key? And how do I fix it?
我的vimrc中有以下几行:
noremap gb vnoremap gb
这些的目标非常明确:每当我按下g时,向左移动一个单词。
我的问题是在vim执行移动之前有大约1/2秒的延迟。 好像vim正在等我输入一个加法命令。
我知道vim在期待更多信息时会做这种事情。 但是,这是我唯一一个涉及g的重映射的情况,因此不太可能出现这种情况。
其他人似乎也有类似的问题: 在VIM中重新映射'd'键时消除了延迟
但还没有人提供解决方案。
有什么想法吗?
如果我这样做并使用vim -u NONE -N
启动vim,我无法复制该行为。 进一步看,这似乎是由netrw插件引起的,它映射了gx
键以及映射g%
的matchit插件。 (您可以使用:verbose :map g
来查看,如果存在其他可能导致此问题以及它们被定义的地方(通过使用:verbose
),则可以:verbose
。
因此,为了防止这种情况,您应该取消映射这些映射,然后g
工作无延迟。 但正如progo已经说过的那样,你失去了所有那些漂亮的内置g<x>
命令,因此我不建议将g
映射掉
另请注意,最近的vims具有<nowait>
修饰符,因此您可以执行noremap <nowait> gb
并且不会发生延迟。
但VIM 期待更多的信息。 有一堆普通模式键绑定以g
开头,例如( gg
, gd
, gf
, gq
,...),当然vim必须等到它知道你开始输入的内容。
这是一种在不破坏大量其他映射的情况下无法真正解决的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.