No se puede salir de Vim incluso con q!

14

No puedo salir de vim incluso cuando escribo :q!. Me sale el error

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

Creo que el búfer es un NetrwTreeListing de solo lectura.

Tyler Durden
fuente

Respuestas:

11

Para resolver esta molestia con netrw permanentemente, agregué esto a mi .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

De Tim Pope .

Matthias Braun
fuente
6

Esto generalmente sucede, si hay dos o más memorias intermedias que se modifican y Vim generalmente alterna entre ellas y muestra el mensaje de error. Entonces, cuando :q!abortaría el búfer actual , no abortaría el otro búfer modificado, por lo tanto, Vim lo protege de perder cambios y le da este mensaje de error.

Si está absolutamente seguro, desea cancelar todas las modificaciones en todos los búferes cargados, simplemente use:qa!

Christian Brabandt
fuente
5

Tratar

:bdelete!

o

:bd!

para abreviar. Esto significa "búfer eliminar" y cerrará el búfer que haya abierto. (El crédito va para Emil Asmussen )

Después de eso, deberías poder hacer :q!lo normal.

James
fuente
2
Ok, pero ¿por qué no me deja renunciar?
Tyler Durden