2014-10-22 64 views
2

我在我的vimrc下面映射:爲什麼這個vim映射會很慢?

noremap <leader>b :buffers<CR>:buffer<Space> 

不幸的是,大約半秒到第二延遲顯示緩衝區列表。這是否有明顯的原因?如果不是,我該如何調試?

+2

也許你有另一個映射開始' b'?如果是這樣,看看'超時'和'ttimeout'設置。 – jthill 2014-10-22 00:57:02

+3

在vim中,鍵入':map,b'(除了','是你的領導鍵),看看會出現什麼。在jthill中提到,如果有歧義,vim會給出一個超時,等待更多的按鍵,然後再決定沒有任何按鍵並繼續前進。 – mixedmath 2014-10-22 03:19:44

回答

10
:verbose noremap <leader>b 

列出了與<Leader>b開始(與:verbose,他們得到了定義也是在)所有映射。爲了使Vim更快地檢測映射,需要通過添加更多字符來使映射鍵唯一(例如<Leader>bb)或通過選擇另一個映射中尚未使用的不同鍵(例如<Leader>B)來解決模糊性問題。

+1

或使用''修飾符,這是可用於最近的Vims(請參閱我的答案[這裏](http://stackoverflow.com/questions/26395562/why-does-vim-delay-on-this-remapped-key - 和 - 如何 - 我 - 修復它/ 26397275#26397275)) – 2014-10-22 10:08:04

+1

@ChristianBrabandt但與此,其他' b ...'映射變得不可用!然後你可以重映射/取消映射那些(我發現它更乾淨)。根據記錄,我最好只使用'',以使緩衝區本地映射快速覆蓋更長的全局映射。 – 2014-10-22 10:27:34

+0

是真的。只是想提起它 – 2014-10-22 10:29:15