VIM中没有缓冲器3?

VIM中没有缓冲器3?,vim,minibufexplorer,Vim,Minibufexplorer,所以我打开VIM: $ vim 然后我打开3个文件: :e file1.txt :e file2.txt :e file3.txt 正如预期的那样,有3个缓冲区,但它们的编号如下: 1:file1.txt 2:file2.txt 4:file4.txt 有什么想法吗 以及: 在VIM上: :ls! 1 "file1.txt" line 1 2 # "file2.txt" line 1

所以我打开VIM:

$ vim
然后我打开3个文件:

:e file1.txt
:e file2.txt
:e file3.txt
正如预期的那样,有3个缓冲区,但它们的编号如下:

  • 1:file1.txt
  • 2:file2.txt
  • 4:file4.txt
有什么想法吗


以及:

在VIM上:

:ls!
  1      "file1.txt"                    line 1
  2 #    "file2.txt"                    line 1
  3u a-  "-MiniBufExplorer-"            line 0
  4 %a   "file3.txt"                    line 1
Press ENTER or type command to continue

原因:此“问题”是由MiniBufExplorer在
:e file2.txt
之后打开引起的

vim启动时,MiniBufExplorer未打开,I
:e file1.txt
时也未打开。但显然,当打开2个或更多文件时,它会自动打开,占用下一个缓冲区(因此使用缓冲区3)



解决方案:使用另一个不会耗尽缓冲区的插件。

因此,您打开了4个缓冲区,关闭了第3个,并询问为什么会有3个缓冲区没有缓冲区编号3

缓冲区在创建时进行编号,这些编号永远不会更改:如果创建缓冲区1、2、3和4并删除缓冲区3,则会得到3个缓冲区:1、2和4


现在似乎是阅读
:h buffers

的最佳时机,不要粗鲁,但这有关系吗?@PeterRincker,稍微(让我再输入一个缓冲区,而不必在
:b
中添加2-3位数字),如果有帮助,任何用户都可以使用
:b
命令使用缓冲区名称的一部分。将它与制表符补全和通配符结合起来,你就不必使用缓冲区号码了。@PeterRincker,是的,但我只是想知道为什么会发生这种情况:)如果你真的按你说的做了,这就不应该发生。请将
$vim--version
的完整输出和您完整的
~/.vimrc
添加到您的问题主体中。不,我没有打开4个缓冲区,只有3个,是的,我知道当您关闭缓冲区时,它将不允许您在重新启动之前再次使用该缓冲区ID。
$ cat ~/.vimrc
syntax on
set number
set mouse=a
call pathogen#infect()
filetype plugin indent on
:ls!
  1      "file1.txt"                    line 1
  2 #    "file2.txt"                    line 1
  3u a-  "-MiniBufExplorer-"            line 0
  4 %a   "file3.txt"                    line 1
Press ENTER or type command to continue