web-dev-qa-db-ja.com

Vim:感嘆符の後に終了(:wq)!目的は何ですか?

編集済みのファイルを:q!のままにすると、更新が破棄されます。 :wqで終了すると、更新を書き込み、Vimを終了します。

しかし:wq!の目的は何ですか(末尾に感嘆符が付いています)?

私はそれについて良い説明が見つかりませんでした。

16
mizech

「!」は警告を出して私を悩ませないでください;早くやれよ。

vim /etc/hostsを試して、変更を加えて:wq!で保存すると、「!」愚かです。これは強制できない実際のエラーなので、「!」を使用します。動作しません。

有用な例.

touch ~/example
chmod -w ~/example
vim ~/example

READアクセスのみが可能なファイルを開いて、事前にWRITEアクセスを削除した場合、その警告は「!」で上書きできます。 (/etc/の権限エラーとは異なり)、したがって「:wq!」この場合は便利です(修正するためにシェルにジャンプするよりも速い)。

23
guiverc

:wq!は、「このバッファに書き込んでから閉じる、質問はされない」という意味です。他に開いているバッファがある場合、それらは開いたままで、vimは終了しません。

10
Ross Presser