VIM中没有缓冲器3?
所以我打开VIM: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
然后我打开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