:q!
我也无法退出vim。我收到错误消息E37: No write since last change (add ! to override)
E162: No write since last change for buffer...
我认为缓冲区是NetrwTreeListing只读的。
#1 楼
为了永久解决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
来自Tim Pope。
#2 楼
如果有两个或多个缓冲区被修改,并且Vim通常在它们之间切换并显示错误消息,通常会发生这种情况。因此,当:q!
将中止当前缓冲区时,它将不会中止其他已修改的缓冲区,因此Vim可以防止丢失更改并给出此错误消息。 如果您完全确定要放弃对所有已加载缓冲区的所有修改,则只需使用
:qa!
#3 楼
请尝试:bdelete!
或
:bd!
简短。这代表“缓冲区删除”,将关闭您打开的缓冲区。 (贷记给Emil Asmussen)
之后,您应该可以照常执行
:q!
。评论
好的,但是为什么不让我辞职呢?
–泰勒·杜顿(Tyler Durden)
16年5月21日在20:09
评论
我注意到,尤其是在netrw目录列表中使用x:special命令之后,会发生这种情况。这个编辑器是我一生中见过的最差的几个数量级的废话。