Vim q和qa之间的区别是什么!在维姆?

Vim q和qa之间的区别是什么!在维姆?,vim,Vim,我对Vim很陌生,所以我首先检查了help.txt文件来了解Vim。在这里,我看到了以下情况: 关闭此窗口:使用“:q”。 退出Vim:使用“:qa!”(小心,所有更改都丢失了!) 第一个关闭Vim。第二个也是。不是所有的改变都会伴随着:q吗?明确地说,我使用vim GUI而不是命令提示符 编辑:更多的是关于差异,而不是实际意义。help.txt文件中几乎相同的解释让我困惑。关键的区别在于这里的感叹号:q将警告您未保存的更改,并且不允许您退出:q不会警告您 另请参见:help quit(在vim

我对Vim很陌生,所以我首先检查了help.txt文件来了解Vim。在这里,我看到了以下情况:

关闭此窗口:使用“:q”。
退出Vim:使用“:qa!”(小心,所有更改都丢失了!)

第一个关闭Vim。第二个也是。不是所有的改变都会伴随着:q吗?明确地说,我使用vim GUI而不是命令提示符


编辑:更多的是关于差异,而不是实际意义。help.txt文件中几乎相同的解释让我困惑。

关键的区别在于这里的感叹号<代码>:q将警告您未保存的更改,并且不允许您退出<代码>:q不会警告您


另请参见
:help quit
(在vim中键入该选项)

当您有一些更改并使用
:q
时,它会失败并抛出一个错误,说明自上次更改以来没有写入
。为了退出Vim而不保存更改,您应该编写
:q,它将退出Vim并
将作为一个否定操作,它将否定写入操作

当你开火时
:qa,它退出vim并且不会抛出上面提到的错误,因为您已经添加了
。如果你看到
manvi
,没有像
a
那样的参数。(需要注意的是,参数区分大小写,-a和-a的处理方式不同)


为了保存文件然后退出vim,您应该使用
:wq
,因为它将首先保存文件,然后退出vim。

我没有看到任何答案专门说明“a”的含义,因此我认为我会提供:

:正如您所知,q
是退出,但警告您没有保存

:qa
退出所有缓冲区,不保存,但您将收到相同的警告


:qa退出所有缓冲区,不保存,也没有警告

可能重复谢谢,但是:qa!
a
表示“全部”。如果加载了多个缓冲区,
q
将退出当前可见的缓冲区并跳转到下一个缓冲区
qa
将退出所有缓冲区并退出vim。我在手指上学到的一个好习惯是使用:
:wqa
退出vim。保存并退出所有缓冲区,并且所有键都彼此靠近。@oysteijo
:xa
甚至更短。OP问了一些非常具体的问题,你回答了你想回答的任何问题。