Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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_Editor - Fatal编程技术网

当缓冲区有未保存的更改且未命名时,退出vim?

当缓冲区有未保存的更改且未命名时,退出vim?,vim,editor,Vim,Editor,我使用:vnew在vim中创建了一个空白的“暂存缓冲区”(即,与特定文件无关)。然后我玩了一些文本,现在我只想退出编辑器,而不是保留这个“临时缓冲区”的内容 键入命令时: :q! 维姆给了我: [No Name][+] E37: No write since last change (add ! to override) E162: No write since last change for

我使用
:vnew
在vim中创建了一个空白的“暂存缓冲区”(即,与特定文件无关)。然后我玩了一些文本,现在我只想退出编辑器,而不是保留这个“临时缓冲区”的内容

键入命令时:

:q!
维姆给了我:

[No Name][+]                                               
E37: No write since last change (add ! to  override)  
E162: No write since last change for buffer "[No Name]"  
Press ENTER or type command to continue

如何从该状态退出vim?

当您有一个修改的隐藏缓冲区时,会发生这种情况。使用
:qa以退出

:h:退出

:q[uit]!        Quit without writing, also when currently visible
                buffers have changes.  Does not exit when this is the
                last window and there is a changed hidden buffer.
                In this case, the first changed hidden buffer becomes
                the current buffer.
                Use ":qall!" to exit always.

如果有人想复制它:

  • 启动vim并修改未命名的缓冲区
  • 编辑另一个文件(您可能需要
    :set hidden
    ),即
    :e README
  • 尝试使用
    :q退出

充其量,您可以称之为“临时”缓冲区(在内存中,但不与特定文件关联),但您使用
:vnew
创建的不是“临时”缓冲区

在Vim中,“scratch”缓冲区是一个普通的缓冲区,您可以在其中设置一组本地选项。可以使用如下命令执行此操作:

:vnew | setlocal nobuflisted buftype=nofile bufhidden=wipe noswapfile

你能提供完整的复制步骤吗?我自己也尝试过,我可以使用
:q
很好。不幸的是,没有。但如果它对你有效,希望我刚刚偶然发现了奇怪的情况——不太可能再次发生。现在我将尝试一些测试…嗯,当我启动一个新的vim实例时,
:vnew
,进行一些编辑,我可以使用
:q退出。这可能是一些不寻常的情况?啊哈,我能够用
:qa!从有问题的缓冲区中解脱出来堆栈溢出是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。谢谢,是的,我相信我一定有第二个没有隐藏,但空的“scratch buffer”打开了,因为vim出错,但没有显示任何内容,然后当我点击enter继续时,它正在恢复内容,我怀疑vim正在切换到另一个缓冲区?