如何从Vi退出?


81

我在Ubuntu机器上启动了Vi。但是,我是Vi的新手,现在我不能退出。我看到编辑器并且可以写文本,在底行有一个标签“ recording”。

如何退出Vi?


1
顺便说一句,“记录”表示您正在记录宏。不再那么重要了。
frabjous

4
这个问题带回了这种“有趣”的回忆。不过,我很高兴克服了这种感觉。
frabjous 2010年

我们如何才能从Linux的只读模式(已安装VMware的Ubuntu)VI编辑器返回插入模式?

2
戒毒已成为一种模因。
noɥʇʎԀʎzɐɹƆ

2
对于那些还没有看过这个笑话的人:twitter.com/iamdevloper/statuses/435555976687923200
Federico Poloni 2016年

Answers:


91

vim是模式编辑器。打ESC键就可以进入正常(命令)模式,然后输入:q并按Enter

要退出而不保存任何更改,请键入:q!并按Enter

另请参见Vim文档中的入门


9
谢谢:我尝试了这些命令,但是运行它们后,系统提示:E37: No write since last change (add ! to override)。我没什么要保存的。
乔纳斯(Jonas)2010年

12
使用:wq,如果你想保存你所编辑,然后退出。 :q!如果您想退出并将更改留在后面。
史蒂文D

或者,如果您要编写副本,:w newFileName.txt请在vivim之外解决只读问题。
凯文·坎图

5
退出:q; 强制退出:q!; 退出并保存,:wq:x
fromnaboo 2012年

2
@Jonas,下次尝试:qall!,我怀疑您已在一个缓冲区中打开了更多文件。
艾伦·董

11

我使用ctrl+ [生成esc序列,这使我不必将手指从主行上移开(请记住,escvi发明时密钥位于不同的位置。:wq将不必要地写入所有文件。我建议使用ZZ(这是shift+ z两次)仅在文件中进行了更改的情况下才会写入。除您在编辑器实例中打开了多个文件(例如vim选项卡)外:xa,其他操作与该命令相同ZZ注意:我不确定这是否全部与所有vi克隆100%兼容,但我知道它可以与vim一起使用


1
谢谢。该ZZ命令似乎很有用。我可以理解这一点,Ctrl+[但是我使用的是瑞典语键盘布局,因此必须按一下AltGr+8才能找到适合我的:([Ctrl+AltGr+8
Jonas 2010年

另外,注意ZQ实际上与相同:q!。但是,这不是标准的。 ZZ,在另一方面, 在POSIX指定
通配符

4

从vi退出是另一种方法 Esc :x

该选项用于同时保存和退出。


2
请注意,像一样ZZ:x仅在文件内容更改后才写入文件,这与相同:wq
jlliagre

2

正如Sinan所说,vim是模式编辑器。如果您想知道这是否对您有用,您应该花一些时间并运行vimtutor,这是一种学习vim的交互式方法。(还介绍了如何退出,模式的含义以及每种模式下的操作)。


-2

修改后,请按ESC和给定的命令:wq!

这会将新修改强行写入只读文件。先前它不起作用,因为文件是只读的。


1
为什么您要回答4年前的问题,基本上是重新回答最重要的问题?无论如何,这是错误的:这不会强制写入只读文件-它会尝试写入,可能会失败,然后将强制退出而不保存。
克里斯

我尝试了前面的评论,但没有用。我认为分享我所做的事情会很有用。发布问题的时间并不重要,但是解决方案是否适用。
Arif A.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.