Vim:更改缓冲区编号

时间:2010-12-28 10:16:04

标签: vim buffer

我通常喜欢使用缓冲区编号快速进入缓冲区。不幸的是,经过多次搜索,打开一些文件等,缓冲区数字变得疯狂:

  1. 无论如何都要手动分配缓冲区号码?
  2. 无论如何重启缓冲区编号?
  3. 感谢。

5 个答案:

答案 0 :(得分:8)

无法手动分配缓冲区编号,或者为此重新分配缓冲区编号。重启缓冲区编号的唯一方法是重启vim。您可能对SelectBuf script感兴趣。

答案 1 :(得分:7)

"缓冲区数字变得疯狂" 告诉我有关它的信息!到一天结束时,我可以轻松超过100个缓冲区。但幸运的是,正如您在此动画中所看到的,缓冲区名称的 tab 完成。

Hit :b se<Tab>

所以,即使你不能重新编号缓冲区,你仍然可以轻松跳转。

还值得注意的是它正在进行*str*匹配,所以我没有必要搜索&#34; se&#34;直接去那个文件。键入:b up 标签也会让我直接在那里。如果有多个匹配项,则后续选项卡将循环匹配(循环)。因此,在本次会议中,我可以绕过我的&#34;测试&#34;文件或我的&#34; py&#34;文件,如果我希望。 一旦你学会了,这比重新编号更好!

答案 2 :(得分:3)

我想我找到了一种方法来做到这一点。使用mksession: {session_filename},关闭会话,打开 {session_filename} ,查找badd {filename}行,添加/编辑/删除/排列这些然后使用vim -S {session_filename}再次打开它。缓冲区将按新顺序排列。如果它是当前或活动文件,请小心删除。我将在其他地方引用。

答案 3 :(得分:2)

为vim试用bufferexplorer插件。将一些键映射到Fx键也很有用,这是一个例子:

"Bufexplorer mapings
nmap <F5> <Esc>:BufExplorer<cr>
vmap <F5> <esc>:BufExplorer<cr>
imap <F5> <esc>:BufExplorer<cr>

" F6 - previous buffer
nmap <F6> :bp<cr>
vmap <F6> <esc>:bp<cr>i
imap <F6> <esc>:bp<cr>i

" F7 - next buffer
nmap <F7> :bn<cr>
vmap <F7> <esc>:bn<cr>i
imap <F7> <esc>:bn<cr>i

答案 4 :(得分:0)

您可以尝试使用此buffer-enancment插件。

这是一个超过本机缓冲区切换的小层,可让您分配缓冲区数字并按照这样的数字调用它们:

将当前缓冲区分配给数字1

1<leader><C-6>

当您想要将缓冲区开关加载到它时,就像通常切换到缓冲区1

一样
1<C-6>

它的工作原理是保存您分配的缓冲区字典,而不是常规缓冲区(如果存在)。如果密钥不存在,它将只是尝试加载具有该数字的缓冲区。