Vim是一种区分编辑模式的编辑器,如何退出Vim往往对新手来说是一脸蒙逼的状态,如何退出Vim是新手最想知道的命令,同时也是StackOverflow上关于Vim相关话题中问得最多的问题.
Vim操作模式有三种模式,具体关于vim编辑器的三种操作模式请参见“”。
站长在日常使用过程中总结出几种常用的退出Vim的方法,并将这几种退出模式进行了对比全面讲述各种退出方法的不同。
一、普通模式下退出Vim的命令ZZ和ZQ
普通模式是在Vim使用过程中用得最多的模式,也是打开Vim后进入的默认模式。Vim本身提供在插入模式下了不需进行模式切换而直接退出Vim的高效率方法。
ZZ:退出Vim;如果文件被修改,则先保存文件再退出,程序员们的常用命令一定记住哦。(等价于 :x 命令)
ZQ:强制退出Vim,不保存任何修改。小心使用用,要不你敲的字可能一会就没有了哦。白忙一场。(等价于 :q! 命令),
二、命令行模式下退出Vim
在命令行模式下我们也经常需要退出vim的操作,而主要的应用场景包括直接退出Vim和保存文件后再退出Vim。
下面分别对两种方式进行讲解:
2.1 命令行模板下直接退出Vim的命令
:q 退出当前Vim窗口,如果是当前窗口是最后一个窗口则退出Vim(或 :quit)。
:conf q 退出当前Vim窗口,如果当前窗口有修改,则给出提示进行选择(或 :confirm quit)。
:q! 强制退出当前Vim窗口,即使是当前缓冲区发生了修改也不进行保存(或 :quit!:)。
:cq 在任何情形下都直接退出Vim而不保存文件,并返回一个错误代码( 或 :cquit:)。
:qa 退出所有Vim窗口,除非存在修改过的缓冲区( 或 :qall:)。
:conf qa 退出所有打开的Vim窗口;如果存在修改过的缓冲区,则给出提示进行选择(或 :confirm qall:)。
:qa! 强制退出所有打开的Vim窗口,不保存任何修改的内容强行退出(或 :qall!:)。
2.2 保存文件并退出Vim
:wq:保存当前文件并退出Vim。如果文件只读或者该缓冲区无名,写回操作将失败。
:wq test.txt:保存当前Vim缓冲区中的内容到文件 test.txt 中并退出Vim。
:[range]wq test.txt:保存当前Vim缓冲区中由range界定的内容到文件 test.txt 中并退出Vim。
:[range]x test.txt:功能和 :[range]wq test.txt 类似, 但只有文件有修改时写入才会实际进行保存。