qを使用してもVimを終了できません!


14

と入力してもvimを終了できません:q!。エラーが出ます

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

バッファーはNetrwTreeListing読み取り専用だと思います。

回答:


11

netrwでこの迷惑を永久に解決するために、これをmyに追加しました.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

ティム・ポープから。


6

これは通常、変更されるバッファが2つ以上ある場合に発生し、Vimは通常それらを切り替えてエラーメッセージを表示します。その:q!ため、現在のバッファを中止しても、他の変更されたバッファは中止されないため、Vimは変更を失うことを防ぎ、このエラーメッセージを表示します。

確信がある場合は、ロードされたすべてのバッファへのすべての変更を中止してから、単に使用します:qa!


5

試してみる

:bdelete!

または

:bd!

要するに。これは「バッファ削除」の略で、開いているバッファを閉じます。(クレジットはEmil Asmussenに送られます)

その後、:q!通常どおりにできるようになります。


2
わかりましたが、なぜ私をやめさせないのですか?
タイラーダーデン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.