如何从vim中删除默认的空缓冲区?

Tam*_*lei 6 vim

每当我使用多个缓冲区时,总会有一个空的.如果我从命令行用vim打开一个文件(我不想创建一个新文件,或者选择通过先命名并使用该名称启动vim来创建一个新文件),我不想这样做.我怎样才能做到这一点?

编辑:

我正在通过以下方式启动gvim:

我的bashrc中有别名: alias g="gvim --remote-silent"

我从命令行打开文件: g name-of-file

此时(如果我还没有打开gvim的实例),我有两个缓冲区:

在此输入图像描述

编辑2:

平台是Linux Mint,版本是:VIM - Vi IMproved 7.3(2010年8月15日,编译于2011年3月24日07:07:39).

我像David建议的那样更新了我的NERDTree插件,但它没有帮助.我使用的其他插件:Pathogen,a,doxygentoolkit,nerdtree,snipmate,vim-rails,ack_plugin,easymotion,protobuf,sparkup,yankring,bufexplorer,matchit,rainbow,surround,clang_complete,nerdcommenter,repeat

seh*_*ehe 2

我没有遇到你的问题

  • linux、gvim - Vi IMproved 7.3(2010 年 8 月 15 日,编译于 2011 年 3 月 24 日 07:07:34)包含的补丁:1-35
  • windows gvim - Vi IMproved 7.2 (2008年8月9日,编译于2008年8月9日18:46:22) MS-Windows 32位GUI版本,支持OLE

您可能正在查看一个错误。

您也许可以通过清理 $MYVIMRC (临时)并运行 gvim 来调试--noplugin

或者检查所有设置(如bufhidden和其他可疑方)

 :set
 :setglobal
Run Code Online (Sandbox Code Playgroud)

并查看它们是从哪个脚本/插件设置的(bufhidden作为示例):

 :verbose set bufhidden
 :verbose setglobal bufhidden
Run Code Online (Sandbox Code Playgroud)

您还可以检查自动命令(这可能会阻止缓冲区被擦除)

 :verbose au
Run Code Online (Sandbox Code Playgroud)