如何退出 Vim?

说实话——你大概是因为退不出 Vim 才来到这里的吧。别担心,你不是一个人。“如何退出 Vim"是 Stack Overflow 上浏览量最高的问题之一,已经被看了超过 200 万次。好消息是:只要理解了 Vim 的工作方式,退出其实非常简单。下面先列出命令,然后我们再解释 为什么 Vim 要这样设计。

快速退出命令

先按 Esc 确保你处于 NORMAL 模式,然后输入:

命令 作用
:q 退出(如果有未保存的更改会失败)
:q! 不保存直接退出
:wq 保存并退出
:x 保存并退出(仅在有更改时才写入)
ZZ 保存并退出——不需要冒号
ZQ 不保存直接退出——不需要冒号

“我卡住了”——常见错误

“E37: No write since last change” 你有未保存的更改。使用 :wq 保存并退出,或使用 :q! 放弃更改。

“E212: Can’t open file for writing” 你没有写入权限。用 sudo 保存::w !sudo tee %,然后用 :q! 退出。

输入 :q 后没有反应 你可能处于 INSERTVISUAL 模式。先按 Esc,再输入命令。

Vim 模式详解

Vim 有多种模式——这就是为什么退出不像关闭窗口那么直接。你需要先切换到正确的模式。

所有退出命令都在 NORMAL 模式或 COMMAND 模式下使用。如果你在其他模式中,请先按 Esc

想深入了解?