我对Vim很新,所以我先检查了help.txt文件,告诉自己有关Vim的信息。在这里,我看到了以下内容:
关闭此窗口:使用“:q”。
走出Vim:用“:qa!” (小心,所有的变化都会丢失!)。
第一个关闭Vim。第二个也。不是所有的变化都与:q?要清楚,我使用vim GUI而不是命令提示符。
编辑:更多的是差异,而不是实际意义。 help.txt文件中几乎相同的解释使我感到困惑。
答案 0 :(得分:13)
关键区别在于感叹号。 :q
会警告您未保存的更改,并且不会让您退出。 :q!
不会警告你。
另请参阅:help quit
(在vim中键入)
答案 1 :(得分:7)
我看不到任何专门针对“ a”含义的答案,因此我认为自己会做出贡献:
:q
已退出,但警告您没有保存
:qa
已退出,所有缓冲区都没有保存,但您会收到同样的警告
:qa!
退出所有缓冲区,没有保存,也没有警告
答案 2 :(得分:4)
你发射命令的顺序非常重要。
当您使用:q时,它将不允许并将抛出一个错误,指出No write since last change
。为了退出Vim并保存更改,你应该写:q!
,它将退出Vim,!
将作为否定,这将取消写操作。
当您解雇:qa!
时,它会首先退出vim,并且不会因为您添加!
而引发上述错误。如果你看到a
,就没有man vi
这样的论点。 (请注意,参数区分大小写,-a和-A两者的处理方式不同)
为了保存文件然后退出vim,你应该使用:wq
,因为它会先保存文件然后退出Vim。