Vim是一種區(qū)分編輯模式的編輯器,如何退出Vim往往對新手來說是一臉蒙逼的狀態(tài),如何退出Vim是新手最想知道的命令,同時也是StackOverflow上關(guān)于Vim相關(guān)話題中問得最多的問題.
Vim操作模式有三種模式,具體關(guān)于vim編輯器的三種操作模式請參見“”。
站長在日常使用過程中總結(jié)出幾種常用的退出Vim的方法,并將這幾種退出模式進(jìn)行了對比全面講述各種退出方法的不同。
一、普通模式下退出Vim的命令ZZ和ZQ
普通模式是在Vim使用過程中用得最多的模式,也是打開Vim后進(jìn)入的默認(rèn)模式。Vim本身提供在插入模式下了不需進(jìn)行模式切換而直接退出Vim的高效率方法。
ZZ:退出Vim;如果文件被修改,則先保存文件再退出,程序員們的常用命令一定記住哦。(等價于 :x 命令)
ZQ:強(qiáng)制退出Vim,不保存任何修改。小心使用用,要不你敲的字可能一會就沒有了哦。白忙一場。(等價于 :q! 命令),
二、命令行模式下退出Vim
在命令行模式下我們也經(jīng)常需要退出vim的操作,而主要的應(yīng)用場景包括直接退出Vim和保存文件后再退出Vim。
下面分別對兩種方式進(jìn)行講解:
2.1 命令行模板下直接退出Vim的命令
:q 退出當(dāng)前Vim窗口,如果是當(dāng)前窗口是最后一個窗口則退出Vim(或 :quit)。
:conf q 退出當(dāng)前Vim窗口,如果當(dāng)前窗口有修改,則給出提示進(jìn)行選擇(或 :confirm quit)。
:q! 強(qiáng)制退出當(dāng)前Vim窗口,即使是當(dāng)前緩沖區(qū)發(fā)生了修改也不進(jìn)行保存(或 :quit!:)。
:cq 在任何情形下都直接退出Vim而不保存文件,并返回一個錯誤代碼( 或 :cquit:)。
:qa 退出所有Vim窗口,除非存在修改過的緩沖區(qū)( 或 :qall:)。
:conf qa 退出所有打開的Vim窗口;如果存在修改過的緩沖區(qū),則給出提示進(jìn)行選擇(或 :confirm qall:)。
:qa! 強(qiáng)制退出所有打開的Vim窗口,不保存任何修改的內(nèi)容強(qiáng)行退出(或 :qall!:)。
2.2 保存文件并退出Vim
:wq:保存當(dāng)前文件并退出Vim。如果文件只讀或者該緩沖區(qū)無名,寫回操作將失敗。
:wq test.txt:保存當(dāng)前Vim緩沖區(qū)中的內(nèi)容到文件 test.txt 中并退出Vim。
:[range]wq test.txt:保存當(dāng)前Vim緩沖區(qū)中由range界定的內(nèi)容到文件 test.txt 中并退出Vim。
:[range]x test.txt:功能和 :[range]wq test.txt 類似, 但只有文件有修改時寫入才會實際進(jìn)行保存。
更多內(nèi)容請參見:Vim 退出命令詳解及14種退出Vim的方法和區(qū)別 - Vim入門教程