Vim kann auch mit q nicht beendet werden!

14

Ich kann vim nicht verlassen, auch wenn ich tippe :q!. Ich bekomme den Fehler

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

Ich denke, der Puffer ist ein NetrwTreeListing readonly.

Tyler Durden
quelle

Antworten:

11

Um dieses Problem dauerhaft mit netrw zu lösen, fügte ich Folgendes hinzu .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

Von Tim Papst .

Matthias Braun
quelle
6

Dies ist normalerweise der Fall, wenn zwei oder mehr Puffer geändert wurden und Vim normalerweise zwischen diesen umschaltet und die Fehlermeldung anzeigt. Wenn also :q!der aktuelle Puffer abgebrochen wird, wird der andere geänderte Puffer nicht abgebrochen. Daher schützt Vim Sie vor dem Verlust von Änderungen und gibt diese Fehlermeldung aus.

Wenn Sie absolut sicher sind, dass Sie alle Änderungen an allen geladenen Puffern abbrechen möchten, verwenden Sie einfach:qa!

Christian Brabandt
quelle
5

Versuchen

:bdelete!

oder

:bd!

kurz gesagt. Dies steht für "Puffer löschen" und schließt den von Ihnen geöffneten Puffer. (Dank geht an Emil Asmussen )

Danach sollten Sie in der Lage sein, :q!wie gewohnt vorzugehen.

James
quelle
2
Ok, aber warum lässt es mich nicht aufhören?
Tyler Durden