如何退出Vim编辑器?

我被卡住了,无法逃脱。 它说:

"type :quit<Enter> to quit VIM"

但是当我键入它时,它只是出现在对象体中。


按Esc键进入“正常模式”。 然后你可以键入:进入“命令行模式”。 冒号( : )将出现在屏幕的底部,并可以键入在以下命令中的一个。 要执行命令,请按Enter键。

  • :q退出(简称:quit
  • :q! 退出而不保存(简称:quit!
  • :wq写入并退出
  • :wq! 即使文件只有读取权限,也要写入和退出(如果文件没有写入权限:强制写入)
  • :x写入并退出(类似于:wq ,但只有在写有变化时才会写入)
  • :exit写入和退出(同:x
  • :qa退出全部(short for :quitall
  • :cq退出而不保存并使Vim返回非零错误(即退出时出错)
  • 您也可以直接从“命令模式”退出Vim,方法是输入ZZ保存并退出(与:x相同)或ZQ退出(与:q!相同)。 (请注意,这里的情况很重要, ZZzz并不意味着同一件事。)

    Vim提供了广泛的帮助 - 您可以使用:help命令访问 - 您可以在其中找到所有问题的答案和初学者教程。


    在输入命令之前, 请按Esc键 。 输入后,点击Return确认。

    Esc完成当前命令并将Vim切换到正常模式。 现在如果按下:, :将出现在屏幕的底部。 这证实你实际上正在输入一个命令而不是编辑该文件。

    大多数命令都有缩写,可选部分用括号括起来: c[ommand]

    标有'*'的命令是仅限Vim(未在Vi中实现)。

    安全退出(如果存在未保存的更改,则会失败):

  • :q[uit]退出当前窗口。 如果这是最后一个窗口,请退出Vim。 这在当前缓冲区中进行更改时失败。
  • :qa[ll] *退出所有窗口和Vim,除非有一些缓冲区已被更改。
  • 提示 - 退出(提示是否存在未保存的更改)

  • :conf[irm] q[uit] *退出,但在有些缓冲区已经被更改时给出提示。
  • :conf[irm] xa[ll] *写入所有更改的缓冲区并退出Vim。 当某些缓冲区不能写入时,提示提示。
  • 写入(保存)更改并退出:

  • :wq写入当前文件(即使没有更改)并退出。 当文件为只读或缓冲区没有名称时写入失败。 :wqa[ll] *适用于所有窗口。
  • :wq! 同样,但写入甚至只读文件。 :wqa[ll]! *适用于所有窗口。
  • :x[it]ZZ (详情)。 只有在文件被更改并退出时才写入该文件, :xa[ll]对于所有窗口, :xa[ll] *。
  • 放弃更改并退出:

  • :q[uit]! ZQ *退出而不写入,也当可见缓冲区发生变化时退出。 当更改隐藏缓冲区时不会退出。
  • :qa[ll]! * :quita[ll][!] *退出Vim,对缓冲区(包括隐藏)的所有更改都将丢失。
  • 按回车确认命令。

    这个答案没有引用所有的Vim写入和退出命令和参数。 事实上,它们在Vim文档中被引用。

    Vim有大量的内置帮助,输入Esc :help返回打开它。

    这个答案的灵感来自另一个,最初由@dirvine撰写,并由其他SO用户编辑。 我已经收录了来自Vim参考资料,SO评论和其他一些资源的更多信息。 Vi和Vim的差异也反映出来。


    如果你想退出而不保存在vim中并让vim返回一个非零的退出代码,你可以使用:cq

    我一直都在使用它,因为我不能为小指换班而烦恼! 。 我经常把东西传给vim,这些东西不需要保存在文件中。 我们在工作中也有一个奇怪的SVN包装器,它必须以非零值退出才能中止签入。

    链接地址: http://www.djcxy.com/p/517.html

    上一篇: How to exit the Vim editor?

    下一篇: Difference between append vs. extend list methods in Python