Ubuntu – Vim: Exit (:wq) with trailing exclamation mark ! What’s the purpose

command linevim

If one leaves an edited file with :q!, then it discards the updates.
If one leaves with with :wq, then it writes the updates and quits Vim.

But what's the purpose of :wq! (with a trailing exclamation mark)?

I have found no good explanation about that.

Best Answer

"!" means don't nag me with warnings; just do it.

If you try and vim /etc/hosts, and make changes and try and save with :wq! - the "!" is moot. That is a real error that can't be forced thus use of "!" won't work.

A useful example..

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

If you open a file where you have READ access only but have taken away your WRITE access before hand, that warning can be overridden by the "!" (unlike permissions error in /etc/), thus a ":wq!" in this case is handy (quicker than jumping to shell to fix).