即使使用q也不能退出Vim!


14

即使输入,也无法退出vim :q!。我得到错误

E37: No write since last change (add ! to override)
E162: No write since last change for buffer...

我认为缓冲区是NetrwTreeListing只读的。

Answers:


11

为了永久解决netrw的这种麻烦,我将其添加到了我的.vimrc

" Per default, netrw leaves unmodified buffers open. This autocommand
" deletes netrw's buffer once it's hidden (using ':q', for example)
autocmd FileType netrw setl bufhidden=delete

蒂姆教皇


6

如果有两个或多个缓冲区被修改,而Vim通常在它们之间切换并显示错误消息,通常会发生这种情况。因此,当:q!中止当前缓冲区时,它不会不中止另一个修改后的缓冲区,因此Vim可以保护您避免丢失更改并给出此错误消息。

如果绝对确定,您想中止对所有已加载缓冲区的所有修改,则只需使用:qa!


5

尝试

:bdelete!

要么

:bd!

简而言之。这代表“缓冲区删除”,将关闭您打开的缓冲区。(信用归Emil Asmussen所有

在那之后,您应该能够:q!照常做。


2
好的,但是为什么不让我退出呢?
泰勒·德登
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.