Não é possível sair do Vim mesmo usando q!

14

Não consigo sair do vim mesmo quando digito :q!. Eu recebo o erro

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

Eu acho que o buffer é um NetrwTreeListing somente leitura.

Tyler Durden
fonte

Respostas:

11

Para resolver esse incômodo com o netrw permanentemente, adicionei isso ao meu .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
fonte
6

Isso geralmente acontece, se houver dois ou mais buffers modificados e o Vim geralmente alterna entre eles e mostra a mensagem de erro. Então, quando :q!iria abortar o buffer atual , ele não abortaria o outro buffer modificado; portanto, o Vim protege você contra a perda de alterações e transmite essa mensagem de erro.

Se você tiver certeza absoluta, deseja abortar todas as modificações em todos os buffers carregados e, em seguida, basta usar:qa!

Christian Brabandt
fonte
5

Experimentar

:bdelete!

ou

:bd!

como diminutivo. Isso significa "exclusão do buffer" e fechará o buffer que você abriu. (O crédito vai para Emil Asmussen )

Depois disso, você deve conseguir fazer :q!o normal.

James
fonte
2
Ok, mas por que não está me deixando sair?
Tyler Durden