退出 Vim

要退出 Vim,首先要确保按下处于正常模式 Esc。

  • :q Enter (如果你有未保存的更改,将阻止你退出 - 简称:退出)

放弃更改并退出 Vim:

  • :q! Enter 强制退出并放弃更改(:quit! 的缩写,不要与:!q 混淆),
  • ZQ 是一个与:q! 相同的快捷方式,
  • :cq Enter 退出并返回错误(丢弃所有更改,以便编译器不会重新编译此文件)

保存更改并退出 Vim:

  • :wq Enter (:write:quit 的简写),
  • :x Enter (与 :wq 相同,但如果文件未更改则不会写入),
  • ZZ 是一个与:x 相同的快捷方式(保存工作区并退出编辑器),
  • :[range]wq! Enter (在[范围]中写下行)

要一次关闭多个缓冲区(即使在多个窗口和/或选项卡中),请将字母 a 附加到上面的任何命令 (以:开头的命令 )。例如,要编写并退出所有可以使用的窗口:

  • :wqa Enter 或
  • :xa Enter - 写入所有已更改的缓冲区并退出 Vim。如果存在没有文件名的缓冲区,这些缓冲区只读或由于其他原因而无法写入,Vim 将不会退出
  • :xa! Enter - 写入所有已更改的缓冲区,甚至是只读的缓冲区,然后退出 Vim。如果存在没有文件名的缓冲区或由于其他原因而无法写入的缓冲区,则 Vim 将不会退出
  • :qa Enter - 尝试退出,但如果有任何未保存的文件则停止;
  • :qa! Enter - 退出而不保存 (丢弃任何未保存文件中的更改 )

如果你在未指定文件的情况下打开了 Vim 并且想要在退出之前保存该文件,则会收到 E32: No file name 消息。你可以使用以下命令保存文件并退出:

  • :wq filename Enter 或;
  • :x filename Enter

说明:

该 : 按键实际上打开命令模式。命令 qquit 的缩写,wwritexexit(如果需要,你也可以输入:quit:write:exit)。:开头的快捷方式如 ZZZQ 指的是普通模式键映射。你可以将它们视为快捷方式。

! 击键有时在命令结束时使用以强制执行,这允许在:q! 的情况下放弃更改。将 ! 放置在命令的开头具有不同的含义。例如,可以输入:!q 而不是:q!,而 vim 将以 127 错误终止。

记住这一点的一个简单方法是将 ! 视为坚持执行某事的一种方式。就像你写的时候:“我想戒掉!”