我被困住了,无法逃脱 . 它说:
"type :quit<Enter> to quit VIM"
但是当我输入它时它只是出现在物体中 .
按下ESC(或我的计算机上的cmd C)后,您必须点击:出现命令提示符 . 然后,您可以输入 quit .
quit
,您可能会发现机器不允许您退出,因为您的信息还没有想要退出,请输入!退出后直接(即 :quit! ) .
:quit!
图片值得一千个Unix命令和选项:
我每个学期都会向学生画这个,然后他们似乎 grab 了vi .
vi是finite state machine,只有三个州 .
启动后,vi进入COMMAND模式,您可以盲目地键入短,少数字符命令 . 你知道你在做什么;这不适合业余爱好者 .
当您想要实际编辑文本时,您应该使用一些单字符命令进入INSERT模式:
i:转到INSERT代替光标
I:在行的开头进入INSERT模式
a:在光标后追加
答:追加到行尾
o:在当前行下面打开一个新行
O:在当前行的位置打开一个新行
现在,回答这个问题:退出 .
您可以从EX模式退出vi:
问:如果您没有进行任何修改,或事先保存过
q!:忽略任何修改并退出
wq:保存并退出
x:这等于wq
w 和 x 接受文件名参数 . 如果您使用文件名启动vi,则无需再次在此处提供 .
w
x
最后,最重要的是:你怎么能达到EX模式?
EX模式适用于长命令,您可以在屏幕底部看到输入 . 在命令模式下,按下冒号 : ,冒号将出现在底行,您可以在其中键入上述命令 .
:
从INSERT模式,您需要按ESC,即Escape按钮,进入COMMAND模式,然后:进入EX模式 .
如果您不确定,请按ESC键,这将使您进入命令模式 .
因此,健壮的方法是ESC - : - x-Enter,它保存您的文件并退出 .
按Esc键进入"Normal mode" . 然后您可以输入 : 进入"Command-line mode" . 冒号( : )将出现在屏幕底部,您可以键入以下命令之一 . 要执行命令,请按Enter键 .
:q 退出( :quit 的缩写)
:q
:quit
:q! 退出而不保存( :quit! 的缩写)
:q!
:wq 写和退出
:wq
:wq! 即使文件只具有读权限也要写入和退出(如果文件没有写权限:强制写入)
:wq!
:x 写和退出(类似于 :wq ,但只有在有变化时才写)
:x
:exit 写入和退出(与 :x 相同)
:exit
:qa 退出全部( :quitall 的缩写)
:qa
:quitall
:cq 退出而不保存并使Vim返回非零错误(即退出并显示错误)
:cq
你也可以直接从"Command mode"退出Vim,输入 ZZ 保存并退出(与 :x 相同)或 ZQ 退出(与 :q! 相同) . (注意案例在这里很重要. ZZ 和 zz 并不代表同一件事 . )
ZZ
ZQ
zz
Vim提供了大量帮助 - 您可以使用 :help 命令访问 - 您可以在其中找到所有问题的答案和初学者教程 .
:help
我想在此添加我的two cents . 问题已被提出here .
带编号的 q 命令将关闭该位置的给定拆分 .
q
:q<split position> 或 :<split position>q 将关闭该位置的拆分 .
:q<split position>
:<split position>q
假设你的Vim窗口布局如下:
------------------------------------------------- | | | | ------------------------------------------------- | | | | | | | | | Split 1 | Split 2 | Split 3 | | | | | -------------------------------------------------
如果运行 q1 命令,它将关闭第一次拆分 . q2 将关闭第二次拆分,反之亦然 .
q1
q2
quit命令中拆分位置的顺序无关紧要 . :2q 或 :q2 将关闭第二次拆分 .
:2q
:q2
如果传递给命令的分割位置大于当前分割的数量,则它将简单地关闭最后一个分割 .
例如,如果在上面的窗口设置中运行 q100 ,其中只有三个分割,它将关闭最后一个分割(分割3) .
q100
在输入命令之前, hit the Esc key . 输入后,点击Return确认 .
Esc完成当前命令并将Vim切换为normal mode . 现在,如果按:, : 将出现在屏幕底部 . 这确认您实际上正在键入命令而不是编辑该文件 .
大多数命令都有缩写,可选部分用括号括起来: c[ommand] .
c[ommand]
标有“*”的命令仅限Vim(未在Vi中实现) .
Safe-quit (fails if there are unsaved changes):
:q[uit] 退出当前window . 如果这是最后一个窗口,请退出Vim . 当前buffer中进行了更改时,此操作失败 .
:q[uit]
:qa[ll] *退出所有窗口和Vim,除非有一些缓冲区已被更改 .
:qa[ll]
Prompt-quit (prompts if there are unsaved changes)
:conf[irm] q[uit] *退出,但在有一些已更改的缓冲区时给出提示 .
:conf[irm] q[uit]
:conf[irm] xa[ll] *写入所有已更改的缓冲区并退出Vim . 无法写入某些缓冲区时出现提示 .
:conf[irm] xa[ll]
Write (save) changes and quit:
:wq 写入当前文件(即使没有更改)并退出 . 当文件是只读文件或缓冲区没有名称时,写入失败 . :wqa[ll] *适用于所有窗口 .
:wqa[ll]
:wq! 相同,但写甚至只读文件 . :wqa[ll]! *适用于所有窗口 .
:wqa[ll]!
:x[it] , ZZ (与details) . 仅在文件被更改时写入文件并退出, :xa[ll] *用于所有窗口 .
:x[it]
:xa[ll]
Discard changes and quit:
:q[uit]! ZQ *在没有写入的情况下退出,当可见缓冲区发生更改时也是如此 . 更改隐藏缓冲区时不退出 .
:q[uit]!
:qa[ll]! *, :quita[ll][!] *退出Vim,缓冲区的所有更改(包括隐藏)都将丢失 .
:qa[ll]!
:quita[ll][!]
Press Return to confirm the command.
这个答案没有引用所有Vim写和退出命令和参数 . 实际上,它们在Vim documentation中被引用 .
Vim有广泛的内置帮助,输入Esc :help 返回打开它 .
这个答案的灵感来自于另一个,最初由@dirvine撰写并由其他SO用户编辑 . 我从Vim参考,SO评论和其他一些来源中收集了更多信息 . Vi和Vim的差异也反映出来 .
如果您需要在 easy mode 中退出Vim(使用 -y 选项时),您可以通过按Ctrl L进入正常的Vim模式,然后任何正常的退出选项都可以 .
-y
如果要在不保存Vim的情况下退出并让Vim返回非零退出代码,则可以使用 :cq .
我一直都在使用这个,因为我不能为 ! 的小拇指转移而烦恼 . 我经常把东西送到Vim,不需要保存在文件中 . 我们还有一个奇怪的SVN包装器,它必须以非零值退出才能中止签入 .
!
以下是退出Vim的方法 . 按Ctrl&'Z',然后按'X'和'C' .
Ctrl -> +Z -> +X -> +C
这是针对退出Vim的最坏情况,如果你只是想要,不知道你做了什么,你不关心你打开的文件会发生什么 .
Ctrl-cEnterEnter vi EnterCtrl- \ _Ctrl -n :qa! Enter
vi
:qa!
这应该会让你在大部分时间出门 .
一些有趣的案例,你需要这样的东西:
i Ctrl-o vg (您进入插入模式,然后进入可视模式,然后进入操作员暂挂模式)
i
vg
Qappend 输入
Qappend
i Ctrl-o gQ Ctrl-r = Ctrl-k(感谢本案例中的porges)
gQ
=
:set insertmode (这是Ctrl- \ _Ctrl-n返回正常模式的情况)
:set insertmode
编辑:由于上述情况,此答案已得到纠正 . 它曾经是:
EscEscEsc :qa! 输入
但是,如果您已进入Ex模式,则不起作用 . 在这种情况下,您需要:
vi 输入 :qa! Enter
所以完整的命令“我不想知道我做了什么,我不想保存任何东西,我现在只想出去!”将会
vi EnterEscEscEsc :qa! 输入
Vim有三种操作模式:输入模式,命令模式和防爆模式 .
Input mode - 您输入的所有内容,所有击键都会在屏幕上回显 .
Command mode or Escape mode - 您在此模式下键入的所有内容都被解释为命令 .
Ex mode - 这是另一位编辑,例如 . 这是一个行编辑器 . 它适用于每行或基于一系列行 . 在此模式下,a:出现在屏幕底部 . 这是前编辑 .
要退出Vim,您可以在ex模式或命令模式下退出 . 当您处于输入模式时,无法退出Vim .
Exiting from ex mode
您需要确保处于命令模式 . 为此,只需按Esc键即可 .
按:键进入ex模式
在ex模式下使用以下任何组合退出:
:q - 退出 :q! - 退出而不保存 :wq - 保存并退出或写入&退出 :wq! - 与wq相同,但强制写入以防文件权限只读 :x - 写入并退出 :qa - 退出所有 . 打开多个文件时很有用,如: vim abc.txt xyz.txt
vim abc.txt xyz.txt
Exiting from command mode
按退出键 . 如果您处于命令模式,则可能已经完成了此操作 .
按资本ZZ( shift zz ) - 保存并退出
shift zz
按资本ZQ( shift zq ) - 退出而不保存 .
shift zq
我通过在Windows上安装Git客户端获得了Vim . :q 不会为我退出Vim . 但是 :exit 确实......
退出 vim 实际上非常容易 .
vim
按Escape,转两圈,踢猫,做一杯完美的茶,跑四分钟一英里,爬上珠穆朗玛峰,在12秒差距内做出Kessel Run,宣称铁宝座,达到世界和平,按 :q 输入
12 回答
按下ESC(或我的计算机上的cmd C)后,您必须点击:出现命令提示符 . 然后,您可以输入
quit
.,您可能会发现机器不允许您退出,因为您的信息还没有想要退出,请输入!退出后直接(即
:quit!
) .图片值得一千个Unix命令和选项:
我每个学期都会向学生画这个,然后他们似乎 grab 了vi .
vi是finite state machine,只有三个州 .
启动后,vi进入COMMAND模式,您可以盲目地键入短,少数字符命令 . 你知道你在做什么;这不适合业余爱好者 .
当您想要实际编辑文本时,您应该使用一些单字符命令进入INSERT模式:
i:转到INSERT代替光标
I:在行的开头进入INSERT模式
a:在光标后追加
答:追加到行尾
o:在当前行下面打开一个新行
O:在当前行的位置打开一个新行
现在,回答这个问题:退出 .
您可以从EX模式退出vi:
问:如果您没有进行任何修改,或事先保存过
q!:忽略任何修改并退出
wq:保存并退出
x:这等于wq
w
和x
接受文件名参数 . 如果您使用文件名启动vi,则无需再次在此处提供 .最后,最重要的是:你怎么能达到EX模式?
EX模式适用于长命令,您可以在屏幕底部看到输入 . 在命令模式下,按下冒号
:
,冒号将出现在底行,您可以在其中键入上述命令 .从INSERT模式,您需要按ESC,即Escape按钮,进入COMMAND模式,然后:进入EX模式 .
如果您不确定,请按ESC键,这将使您进入命令模式 .
因此,健壮的方法是ESC - : - x-Enter,它保存您的文件并退出 .
按Esc键进入"Normal mode" . 然后您可以输入
:
进入"Command-line mode" . 冒号(:
)将出现在屏幕底部,您可以键入以下命令之一 . 要执行命令,请按Enter键 .:q
退出(:quit
的缩写):q!
退出而不保存(:quit!
的缩写):wq
写和退出:wq!
即使文件只具有读权限也要写入和退出(如果文件没有写权限:强制写入):x
写和退出(类似于:wq
,但只有在有变化时才写):exit
写入和退出(与:x
相同):qa
退出全部(:quitall
的缩写):cq
退出而不保存并使Vim返回非零错误(即退出并显示错误)你也可以直接从"Command mode"退出Vim,输入
ZZ
保存并退出(与:x
相同)或ZQ
退出(与:q!
相同) . (注意案例在这里很重要.ZZ
和zz
并不代表同一件事 . )Vim提供了大量帮助 - 您可以使用
:help
命令访问 - 您可以在其中找到所有问题的答案和初学者教程 .我想在此添加我的two cents . 问题已被提出here .
带编号的
q
命令将关闭该位置的给定拆分 .:q<split position>
或:<split position>q
将关闭该位置的拆分 .假设你的Vim窗口布局如下:
如果运行
q1
命令,它将关闭第一次拆分 .q2
将关闭第二次拆分,反之亦然 .quit命令中拆分位置的顺序无关紧要 .
:2q
或:q2
将关闭第二次拆分 .如果传递给命令的分割位置大于当前分割的数量,则它将简单地关闭最后一个分割 .
例如,如果在上面的窗口设置中运行
q100
,其中只有三个分割,它将关闭最后一个分割(分割3) .在输入命令之前, hit the Esc key . 输入后,点击Return确认 .
Esc完成当前命令并将Vim切换为normal mode . 现在,如果按:,
:
将出现在屏幕底部 . 这确认您实际上正在键入命令而不是编辑该文件 .大多数命令都有缩写,可选部分用括号括起来:
c[ommand]
.标有“*”的命令仅限Vim(未在Vi中实现) .
Safe-quit (fails if there are unsaved changes):
:q[uit]
退出当前window . 如果这是最后一个窗口,请退出Vim . 当前buffer中进行了更改时,此操作失败 .:qa[ll]
*退出所有窗口和Vim,除非有一些缓冲区已被更改 .Prompt-quit (prompts if there are unsaved changes)
:conf[irm] q[uit]
*退出,但在有一些已更改的缓冲区时给出提示 .:conf[irm] xa[ll]
*写入所有已更改的缓冲区并退出Vim . 无法写入某些缓冲区时出现提示 .Write (save) changes and quit:
:wq
写入当前文件(即使没有更改)并退出 . 当文件是只读文件或缓冲区没有名称时,写入失败 .:wqa[ll]
*适用于所有窗口 .:wq!
相同,但写甚至只读文件 .:wqa[ll]!
*适用于所有窗口 .:x[it]
,ZZ
(与details) . 仅在文件被更改时写入文件并退出,:xa[ll]
*用于所有窗口 .Discard changes and quit:
:q[uit]!
ZQ
*在没有写入的情况下退出,当可见缓冲区发生更改时也是如此 . 更改隐藏缓冲区时不退出 .:qa[ll]!
*,:quita[ll][!]
*退出Vim,缓冲区的所有更改(包括隐藏)都将丢失 .Press Return to confirm the command.
这个答案没有引用所有Vim写和退出命令和参数 . 实际上,它们在Vim documentation中被引用 .
Vim有广泛的内置帮助,输入Esc
:help
返回打开它 .这个答案的灵感来自于另一个,最初由@dirvine撰写并由其他SO用户编辑 . 我从Vim参考,SO评论和其他一些来源中收集了更多信息 . Vi和Vim的差异也反映出来 .
如果您需要在 easy mode 中退出Vim(使用
-y
选项时),您可以通过按Ctrl L进入正常的Vim模式,然后任何正常的退出选项都可以 .如果要在不保存Vim的情况下退出并让Vim返回非零退出代码,则可以使用
:cq
.我一直都在使用这个,因为我不能为
!
的小拇指转移而烦恼 . 我经常把东西送到Vim,不需要保存在文件中 . 我们还有一个奇怪的SVN包装器,它必须以非零值退出才能中止签入 .以下是退出Vim的方法 . 按Ctrl&'Z',然后按'X'和'C' .
这是针对退出Vim的最坏情况,如果你只是想要,不知道你做了什么,你不关心你打开的文件会发生什么 .
Ctrl-cEnterEnter
vi
EnterCtrl- \ _Ctrl -n:qa!
Enter这应该会让你在大部分时间出门 .
一些有趣的案例,你需要这样的东西:
i
Ctrl-ovg
(您进入插入模式,然后进入可视模式,然后进入操作员暂挂模式)Qappend
输入i
Ctrl-ogQ
Ctrl-r=
Ctrl-k(感谢本案例中的porges):set insertmode
(这是Ctrl- \ _Ctrl-n返回正常模式的情况)编辑:由于上述情况,此答案已得到纠正 . 它曾经是:
EscEscEsc
:qa!
输入但是,如果您已进入Ex模式,则不起作用 . 在这种情况下,您需要:
vi
输入:qa!
Enter所以完整的命令“我不想知道我做了什么,我不想保存任何东西,我现在只想出去!”将会
vi
EnterEscEscEsc:qa!
输入Vim有三种操作模式:输入模式,命令模式和防爆模式 .
Input mode - 您输入的所有内容,所有击键都会在屏幕上回显 .
Command mode or Escape mode - 您在此模式下键入的所有内容都被解释为命令 .
Ex mode - 这是另一位编辑,例如 . 这是一个行编辑器 . 它适用于每行或基于一系列行 . 在此模式下,a:出现在屏幕底部 . 这是前编辑 .
要退出Vim,您可以在ex模式或命令模式下退出 . 当您处于输入模式时,无法退出Vim .
Exiting from ex mode
您需要确保处于命令模式 . 为此,只需按Esc键即可 .
按:键进入ex模式
在ex模式下使用以下任何组合退出:
:q
- 退出:q!
- 退出而不保存:wq
- 保存并退出或写入&退出:wq!
- 与wq相同,但强制写入以防文件权限只读:x
- 写入并退出:qa
- 退出所有 . 打开多个文件时很有用,如:vim abc.txt xyz.txt
Exiting from command mode
按退出键 . 如果您处于命令模式,则可能已经完成了此操作 .
按资本ZZ(
shift zz
) - 保存并退出按资本ZQ(
shift zq
) - 退出而不保存 .我通过在Windows上安装Git客户端获得了Vim .
:q
不会为我退出Vim . 但是:exit
确实......退出
vim
实际上非常容易 .按Escape,转两圈,踢猫,做一杯完美的茶,跑四分钟一英里,爬上珠穆朗玛峰,在12秒差距内做出Kessel Run,宣称铁宝座,达到世界和平,按
:q
输入