我的Vim工作流程围绕着拥有多个开放缓冲区,并使用:ls<CR>:b $BUFFER_NUMBER
,:bp
,:bn
和b#
的组合进行切换。因此,我喜欢对缓冲区列表进行一些控制,因此往往会使用相对频繁的:bd
缓冲区而不使用。
我经常主要处理几个文件,但需要访问更多文件以便简要查看。以这种方式工作一段时间后,新文件最终会有一个非常高的缓冲区索引。导航到:b 75
非常不方便,但也感觉到了#34;错误。为了缓解这种情况,我倾向于在另一个tmux窗格中打开另一个Vim实例来打开我知道我只需要看一眼的文件,但感觉这应该是我可以用Vim解决的问题!
我知道不可能重置缓冲区索引,或重新编号当前缓冲区列表,但我想知道是否可以打开缓冲区而不显示缓冲区列表。< / p>
答案 0 :(得分:3)
工具带中缺少的工具是:b partialname<Tab>
,它允许您访问特定缓冲区,而无需从长列表中选择或不必要地切换到几十个不相关的缓冲区。
在下面的gifcast中,我有634个加载的缓冲区($ vim *.js
中的node_modules/lodash
)。这可能有点极端,但我认为无论你有多少缓冲区,它都非常清楚Vim中缓冲切换的简单和无痛。没有任何插件。
请参阅:help :b
和:help wildmenu
。
以下是我vimrc
的相关部分:
" three options
set wildmenu
set wildignorecase
set wildmode=full
" one mapping
nnoremap ,b :buffer<Space>
注意:我的实际,b
映射包含*
,但没有必要;它只是为了与另一组映射保持一致。
答案 1 :(得分:1)
据我了解,你问题的真正答案是否定的。首次打开时,所有缓冲区都与缓冲区编号相关联。即使使用:bwipeout
完全删除缓冲区,也会消耗此缓冲区号并且永远无法再次使用。