每当我使用多个缓冲区时,总会有一个空的。如果我从命令行用vim打开一个文件(我不想创建一个新文件,或者选择通过先命名它并用该名称启动vim来创建一个新文件),我不想这样做。我怎么能这样做?
修改:
我正在通过以下方式启动gvim:
我的bashrc中有一个别名:alias g="gvim --remote-silent"
我从命令行打开文件:g name-of-file
此时(如果我还没有打开gvim的实例),我有两个缓冲区:
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,重复
答案 0 :(得分:2)
我没有你的问题
您可能正在查看错误。
您可以通过清理$ 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选项启动。