2017-03-07 92 views
1

我的Vim工作流圍繞着具有多個開放緩衝液,並用:ls<CR>:b $BUFFER_NUMBER:bp:bnb#的組合在它們之間切換。因此,我喜歡對緩衝區列表進行一些控制,所以往往會比較頻繁地使用我沒有使用的緩衝區:bd打開在Vim的一個文件沒有它在緩衝區列表表示

我經常主要在幾個文件上工作,但需要訪問很多才能簡要查看。以這種方式工作一段時間後,新文件最終會有非常高的緩衝區索引。導航到:b 75是相當不方便的,但也「感覺」錯誤。爲了減輕這一點,我傾向於在另一個tmux窗格中打開另一個Vim實例來打開文件,我知道我只需要瀏覽一下,但感覺這應該是我可以用Vim解決的問題!

我知道不可能重置緩衝區索引,或重新編號當前緩衝區列表,但我想知道是否可以在緩衝區列表中顯示沒有顯示的緩衝區。

回答

3

工具帶中缺失的工具是:b partialname<Tab>,它允許您訪問特定的緩衝區,而不必從長列表中選擇或不必要地切換通過幾十個不相關的緩衝區。

在下面的gifcast中,我有634個加載緩衝區($ vim *.jsnode_modules/lodash)。這可能有點極端,但我認爲它清楚地表明,無論您有多少緩衝區,Vim中的緩衝切換操作都非常簡單和輕鬆。沒有任何插件。

btab

:help :b:help wildmenu


這裏是我的vimrc的相關部分:

" three options 
set wildmenu 
set wildignorecase 
set wildmode=full 

" one mapping 
nnoremap ,b :buffer<Space> 

注:我的實際,b映射包括*但它是沒有必要的;它只是爲了與另一組映射保持一致。

+0

很好的建議,雖然這實際上已經在我的工具箱中。我發現的問題是,由於我工作的項目的結構,我經常有名稱上非常相似的文件。例如:'something.controller','something.module'' something-else.controller'' something-else.module'。在這種情況下,試圖匹配'... controller'或'something-else'將不允許我快速切換文件。 – leesio

+0

最糟糕的情況下,你可以選擇5或6候選人之間。幾個''你就完成了。 – romainl

1

據我所知,你問題的真正答案是否定的。所有緩衝區在首次打開時都會與緩衝區號關聯。此緩衝區號碼已消耗完畢,即使在使用:bwipeout完全刪除緩衝區時也不可再次使用。

相關問題