为什么这个vim映射会很慢?

为什么这个vim映射会很慢?,vim,Vim,我的vimrc中有以下映射: noremap <leader>b :buffers<CR>:buffer<Space> noremap b:buffers:buffer 不幸的是,显示缓冲区列表大约有半秒到一秒的延迟。这有明显的原因吗?如果没有,我如何调试它?:详细的noremap b :verbose noremap <leader>b 列出以b开头的所有映射(以及以开头的所有映射:verbose,以及它们的定义位置)。为了使Vim更快地

我的vimrc中有以下映射:

noremap <leader>b :buffers<CR>:buffer<Space>
noremap b:buffers:buffer
不幸的是,显示缓冲区列表大约有半秒到一秒的延迟。这有明显的原因吗?如果没有,我如何调试它?

:详细的noremap b
:verbose noremap <leader>b

列出以
b
开头的所有映射(以及以
开头的所有映射:verbose
,以及它们的定义位置)。为了使Vim更快地检测映射,您需要解决歧义,或者通过添加更多字符使映射键唯一(例如,
bb
),或者通过选择尚未在另一个映射中使用的不同键(例如,
B
)。

也许您有另一个映射开始
B
?如果是这样,请查看
超时
ttimeout
设置。在vim中,键入
:map,b
(除非
是您的引导键),然后查看显示的内容。在提到的jthill中,如果存在歧义,那么vim会给出一个超时,等待更多的按键,然后确定没有,然后继续。或者使用
修饰符,这在最近的Vims中可用(请参阅我的答案)@ChristianBrabandt,但是有了这个修饰符,其他
b…
映射就不可用了!然后还可以重新映射/取消映射那些(我发现它们更干净)。我最好只使用文档中的
,让缓冲区本地映射快速覆盖较长的全局映射。true。我只是想提一下,就是这样。谢谢分享!因此,
歧义性
是这里的关键。
ac
的存在将减慢
a
的执行。