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

时间:2011-09-11 20:30:39

标签: vim

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

修改

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

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

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

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

enter image description here

EDIT2

平台是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,彩虹,环绕, clang_complete,nerdcommenter,重复

2 个答案:

答案 0 :(得分: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)支持OLE的MS-Windows 32位GUI版

您可能正在查看错误。

您可以通过清理$ MYVIMRC(暂时)并运行gvim --noplugin来调试内容。

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

 :set
 :setglobal

并查看他们正在设置的脚本/插件( bufhidden仅作为示例 ):

 :verbose set bufhidden
 :verbose setglobal bufhidden

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

 :verbose au

答案 1 :(得分:2)

为了避免这种情况,我更改了别名:

g() { [ -z "$(command gvim --serverlist)" ] && command gvim "$@" || command gvim --remote-silent "$@" ; }

如果服务器列表为空:启动普通gvim,否则使用remote-silent选项启动。