Tidak dapat keluar dari Vim bahkan menggunakan q!

14

Saya tidak bisa keluar vim bahkan ketika saya mengetik :q!. Saya mendapatkan kesalahan

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

Saya pikir buffer adalah NetrwTreeListing yang hanya bisa dibaca.

Tyler Durden
sumber

Jawaban:

11

Untuk mengatasi gangguan ini dengan netrw secara permanen, saya menambahkan ini ke .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

Dari Tim Pope .

Matthias Braun
sumber
6

Ini biasanya terjadi, jika ada dua atau lebih buffer yang dimodifikasi dan Vim maka biasanya beralih di antara mereka dan menunjukkan pesan kesalahan. Jadi ketika :q!akan membatalkan buffer saat ini , itu tidak akan membatalkan buffer yang dimodifikasi lainnya, jadi karena itu Vim melindungi Anda dari kehilangan perubahan dan memberikan pesan kesalahan ini.

Jika Anda benar-benar yakin, Anda ingin membatalkan semua modifikasi pada semua buffer yang dimuat, maka cukup gunakan:qa!

Christian Brabandt
sumber
5

Mencoba

:bdelete!

atau

:bd!

Ringkasnya. Ini adalah singkatan dari "buffer delete" dan akan menutup buffer yang telah Anda buka. (Kredit jatuh ke Emil Asmussen )

Setelah itu, Anda harus bisa melakukan :q!seperti biasa.

James
sumber
2
Ok, tapi mengapa itu tidak membiarkan saya berhenti?
Tyler Durden