我创建了一个空白"暂存缓冲区" (使用:vnew
在vim中(即与特定文件无关)。然后我玩了一些文字,现在我只想退出编辑器 - 不保留这个"暂存缓冲区"的内容。
当我输入命令时:
:q!
Vim给了我:
[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?
答案 0 :(得分:15)
当你有一个修改过的隐藏缓冲区时会发生这种情况。无论如何都要使用:qa!
退出。
来自:h :quit
:
: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.
如果有人想要复制它:
:set hidden
),即:e README
:q!
答案 1 :(得分:3)
充其量你可以称之为"瞬态"缓冲区(在内存中但与特定文件无关)但您使用:vnew
创建的内容不 a" scratch"缓冲液中。
在Vim," scratch" buffer是一个普通的缓冲区,您可以在其中设置一组本地选项。可以使用以下命令完成:
:vnew | setlocal nobuflisted buftype=nofile bufhidden=wipe noswapfile