Nie można wyjść z Vima, nawet używając q!


15

Nie mogę wyjść z vima nawet podczas pisania :q!. Dostaję błąd

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

Myślę, że bufor jest tylko do odczytu NetrwTreeListing.

Odpowiedzi:


11

Aby trwale rozwiązać ten problem z netrw, dodałem to do mojego .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

Od Tima Pope'a .


6

Zwykle dzieje się tak, jeśli są zmodyfikowane dwa lub więcej buforów, a Vim zwykle przełącza się między nimi i wyświetla komunikat o błędzie. Kiedy więc :q!przerwie bieżący bufor, nie przerwie on drugiego zmodyfikowanego bufora, dlatego Vim chroni cię przed utratą zmian i wyświetla ten komunikat o błędzie.

Jeśli masz absolutną pewność, chcesz przerwać wszystkie modyfikacje wszystkich załadowanych buforów, po prostu użyj:qa!


5

Próbować

:bdelete!

lub

:bd!

w skrócie. Oznacza to „usunięcie bufora” i zamknie otwarty bufor. (Podziękowania dla Emila Asmussena )

Po tym powinieneś być w stanie zrobić :q!normalnie.


2
Ok, ale dlaczego nie pozwala mi odejść?
Tyler Durden
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.