在Vim中打开一个文件,而不显示在缓冲区列表中

时间:2017-03-07 09:16:52

标签: vim tmux

我的Vim工作流程围绕着拥有多个开放缓冲区,并使用:ls<CR>:b $BUFFER_NUMBER:bp:bnb#的组合进行切换。因此,我喜欢对缓冲区列表进行一些控制,因此往往会使用相对频繁的:bd缓冲区而不使用。

我经常主要处理几个文件,但需要访问更多文件以便简要查看。以这种方式工作一段时间后,新文件最终会有一个非常高的缓冲区索引。导航到:b 75非常不方便,但也感觉到了#34;错误。为了缓解这种情况,我倾向于在另一个tmux窗格中打开另一个Vim实例来打开我知道我只需要看一眼的文件,但感觉这应该是我可以用Vim解决的问题!

我知道不可能重置缓冲区索引,或重新编号当前缓冲区列表,但我想知道是否可以打开缓冲区而不显示缓冲区列表。< / p>

2 个答案:

答案 0 :(得分:3)

工具带中缺少的工具是:b partialname<Tab>,它允许您访问特定缓冲区,而无需从长列表中选择或不必要地切换到几十个不相关的缓冲区。

在下面的gifcast中,我有634个加载的缓冲区($ vim *.js中的node_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映射包含*,但没有必要;它只是为了与另一组映射保持一致。

答案 1 :(得分:1)

据我了解,你问题的真正答案是否定的。首次打开时,所有缓冲区都与缓冲区编号相关联。即使使用:bwipeout完全删除缓冲区,也会消耗此缓冲区号并且永远无法再次使用。