Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何退出Vim编辑器?_Vim_Vi - Fatal编程技术网

如何退出Vim编辑器?

如何退出Vim编辑器?,vim,vi,Vim,Vi,我被卡住了,无法逃脱。它说: "type :quit<Enter> to quit VIM" “键入:退出以退出VIM” 但当我输入时,它只是出现在对象体中。点击Esc键进入“正常模式”。然后您可以键入:进入“命令行模式”。屏幕底部将出现冒号(:),您可以键入以下命令之一。要执行命令,请按Enter键 :q退出(简称:退出) :q不保存而退出(缩写为:quit!) :wq写入并退出 :wq写入并退出,即使文件只有读取权限(如果文件没有写入权限:强制写入) :x写入并退出(类似于

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

"type :quit<Enter> to quit VIM"
“键入:退出以退出VIM”
但当我输入时,它只是出现在对象体中。

点击Esc键进入“正常模式”。然后您可以键入
进入“命令行模式”。屏幕底部将出现冒号(
),您可以键入以下命令之一。要执行命令,请按Enter键

  • :q
    退出(简称
    :退出
  • :q
    不保存而退出(缩写为
    :quit!
  • :wq
    写入并退出
  • :wq
    写入并退出,即使文件只有读取权限(如果文件没有写入权限:强制写入)
  • :x
    写入并退出(类似于
    :wq
    ,但仅在发生更改时写入)
  • :exit
    写入并退出(与
    :x
    相同)
  • :qa
    全部退出(简称
    :quitall
  • :cq
    不保存退出并使Vim返回非零错误(即带错误退出)
您也可以直接从“正常模式”退出Vim,方法是键入
ZZ
保存并退出(与
:x
相同),或键入
ZQ
直接退出(与
:q!
相同)。(请注意,这里的大小写很重要。
ZZ
ZZ
的意思并不相同。)


Vim有广泛的帮助-您可以使用
:help
命令访问-在这里您可以找到所有问题的答案和初学者指南。

如果您想退出而不保存在Vim中,并让Vim返回非零退出代码,您可以使用
:cq


我一直都在用这个,因为我懒得为<代码>换小指。我经常将不需要保存在文件中的东西通过管道传输到Vim。我们还有一个奇怪的SVN包装器在工作,必须以非零值退出,才能中止签入。

如果您需要在轻松模式下退出Vim(使用
-y
选项),您可以通过点击Ctrl+L进入正常Vim模式,然后任何正常退出选项都将工作。

点击ESC后(或我的计算机上的cmd+C)必须点击:才能出现命令提示。然后,您可以输入
退出


您可能会发现计算机不允许您退出,因为您的信息尚未保存。如果您仍想退出,请在退出后直接输入!即可(即
:quit!
).

我通过在Windows上安装Git客户端获得了Vim。
:q
不会为我退出Vim。
:exit
但是…

在输入命令之前,按Esc键。输入后,按回车键确认

Esc完成当前命令并将Vim切换到。现在,如果按:,屏幕底部将显示
。这确认您实际上是在键入命令,而不是在编辑文件

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

标有“*”的命令仅用于Vim(未在Vi中实现)

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

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

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

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

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

这个答案并没有引用所有的VimWrite和quit命令和参数

Vim具有广泛的内置帮助,请键入Esc
:help
返回以打开它

这个答案的灵感来源于,最初由@dirvine编写,并由其他SO用户编辑。我包含了来自Vim参考的更多信息,所以评论和一些其他来源。Vi和Vim的差异也被反映出来。

这是针对退出Vim的最坏情况,如果您只是想退出,不知道自己做了什么,也不关心打开的文件会发生什么情况

Ctrl cEnterEnter
vi
EnterCtrl-\Ctrl-n
:qa!
Enter

这应该可以让你大部分时间都出去

一些有趣的情况下,您需要这样的东西:

  • i
    Ctrl-o
    vg
    (进入插入模式,然后进入视觉模式,然后进入操作员挂起模式)

  • Qappend
    Enter

  • i
    Ctrl-o
    gQ
    Ctrl-r
    =
    Ctrl-k(多亏了porges的案例)

  • :设置插入模式
    (当Ctrl-\Ctrl-n将您返回到正常模式时会出现这种情况)

  • ------------------------------------------------- | | | | ------------------------------------------------- | | | | | | | | | Split 1 | Split 2 | Split 3 | | | | | -------------------------------------------------