![Vim: 退出 (:wq) 时带有尾随感叹号!目的是什么?](https://linux22.com/image/918236/Vim%3A%20%E9%80%80%E5%87%BA%20(%3Awq)%20%E6%97%B6%E5%B8%A6%E6%9C%89%E5%B0%BE%E9%9A%8F%E6%84%9F%E5%8F%B9%E5%8F%B7%EF%BC%81%E7%9B%AE%E7%9A%84%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
如果使用 离开编辑的文件:q!
,则它会丢弃更新。如果使用 离开:wq
,则它会写入更新并退出 Vim。
但目的是什么:wq!
(后面带有感叹号)?
我还没有找到对此很好的解释。
答案1
“!“ 方法不要用警告来唠叨我; 去做就对了。
如果您尝试vim /etc/hosts
,并进行更改,然后尝试使用 保存:wq!
- “!” 是没有意义的。这是一个无法强制的真正错误,因此使用“!”不起作用。
一个有用的例子...
touch ~/example
chmod -w ~/example
vim ~/example
如果你打开一个文件,并且你只有读权限,但事先已经剥夺了你的写权限,那么这个警告可以被“!”覆盖(与中的权限错误不同/etc/
),因此在这种情况下“:wq!”很方便(比跳转到 shell 进行修复更快)。
答案2
:wq!
意思是“写入此缓冲区然后关闭它,不问任何问题。”如果你打开了任何其他缓冲区,它们将保持打开状态并且 vim 不会退出。
答案3
:x!
做同样的事情,我不知道它:wq!
来自现代文献的哪里,因为它在 40 年前就已经过时了。
问题是wq!
这是否意味着写入然后强制退出或强制写入然后退出?这x!
很清楚。