Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从vim中删除默认的空缓冲区?_Vim - Fatal编程技术网

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

如何从vim中删除默认的空缓冲区?,vim,Vim,每当我使用多个缓冲区时,总有一个是空的。如果我从命令行用vim打开一个文件(即,我不想创建一个新文件,或者选择先命名并用该名称启动vim来创建一个新文件),我不希望出现这种情况。我该怎么做 编辑: :verbose set bufhidden :verbose setglobal bufhidden 我以以下方式启动gvim: 我的bashrc中有一个别名:alias g=“gvim--remote silent” 我使用以下命令行打开文件:g文件名 此时(如果我还没有打开gvim实例),

每当我使用多个缓冲区时,总有一个是空的。如果我从命令行用vim打开一个文件(即,我不想创建一个新文件,或者选择先命名并用该名称启动vim来创建一个新文件),我不希望出现这种情况。我该怎么做

编辑

 :verbose set bufhidden
 :verbose setglobal bufhidden
我以以下方式启动gvim:

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

我使用以下命令行打开文件:
g文件名

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

Edit2

 :verbose set bufhidden
 :verbose setglobal bufhidden
平台是LinuxMint,版本是:VIM-Vi改进版7.3(2010年8月15日,2011年3月24日编译07:07:39)

我按照David的建议更新了我的NERDTree插件,但没用。我使用的其他插件:病原体、a、doxygentoolkit、nerdtree、snipmate、vim rails、, ack_插件、EasyMoon、protobuf、sparkup、yankring、, bufexplorer、matchit、彩虹、环绕、,
叮当作响,笨蛋,重复一遍,我没有你的问题

  • linux,gvim-Vi改进版7.3(2010年8月15日,2011年3月24日编译07:07:34)包括补丁:1-35
  • WindowsGVIM-Vi改进了7.2(2008年8月9日编译,2008年8月9日18:46:22)MSWindows32位GUI版本,支持OLE
您可能正在查看一个bug

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

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

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

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


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

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

如果服务器列表为空:启动普通gvim,否则使用远程静默选项启动。

当您在命令行上传递vim文件时,不会得到空缓冲区。与打开vim和
:e foo
时相同。你能详细说明一下吗?是的。我们显然没有你的问题。请告诉我们你如何启动vim(什么版本/操作系统)以及如何打开文件谢谢,我添加了更多信息。你安装了NERD树吗?我有一个老版本的书呆子树的问题。升级到最新版本为我解决了这个问题。这一定是我的插件之一。我想重新组织它们,也许从病原体转移到vundle,所以我现在就做这件事,然后回到原因上来。谢谢,谢谢你。我用vundle替换了旧的病原体设置,并更新了所有插件。我漏掉了一些我没有用的东西。如果有人有同样的问题,我建议检查我在问题中列出的那些插件。我没有花时间去纠结引起它的那个,特别是因为不能保证它只是其中的一个。无论如何,Vundle很不错,我的更新插件很不错,生活也很好:)
g() { [ -z "$(command gvim --serverlist)" ] && command gvim "$@" || command gvim --remote-silent "$@" ; }