如何保存用vim编辑的文件?


66

编辑后我无法保存更改

sudo vi /etc/network/interfaces

编辑前的文字:

auto lo
iface lo inet ...

编辑为:

auto eth0
iface eth0 inet dhcp

我必须按什么组合键或顺序才能保存此键?


7
如果您不喜欢在基于终端的编辑器(例如vi或)中编辑文件,则vim建议使用基于图形的编辑器(例如)gedit来打开它们。替换sudo vigksu gedit
Aditya

5
或使用sudo nano它的命令行,但比vi直观得多。
沃伦·希尔

Answers:


125

您可能处于编辑/插入模式。您需要输入以下顺序:

  1. Esc,退出编辑模式并退回到命令模式;
  2. :+ w+ q,开始与:(结肠),然后按w和最后q瓦特仪式和q UIT(或只是:w以不退出写)
  3. 然后按一下Enter即可生效。

18

我通常按​​住ESC,然后Shiftz两次。就像您要在单词编辑器中输入两个大写Z字母一样:)保存文档并关闭编辑器。


4
噢,伙计,shift和double z,我想知道的设计逻辑是什么,“我们能创建的最不直观的命令是什么?”,ubuntu有时会像疯了似的
-S

4
@Sam,我只是想断言vi与ubuntu无关。Ubuntu于2004年首次发布,而vi由Bill Joy于1976年左右创建,灵感来自ed(可追溯至1971年)。这意味着vi中的快捷方式早于当今几乎所有其他仍常用的实用程序中的快捷方式。碰巧的是,具有完全不同的怪异快捷方式的emacs的第一版也于1976年发布。标准化工作要晚得多。
yoniLavi 2014年

哇感谢信息@yoniLavi,我的观点仍然是相同的,所以希望标准化工作不断进取.. :)
秒。

@ Sam,vi键绑定实际上比您想象的要标准得多;它们几乎无处不在。实际上,可以制作任何程序来模拟vi键绑定。显然,即使是默认的Gmail键盘绑定(对于Vim用户)也基于vi键盘绑定。
通配符

esc键怎么办?插入模式,刚刚停止。
创作者

3

检查您是否具有管理(root)特权来编辑文件。使用此命令

whoami

如果结果不是“ root”,则不应编辑该文件。

要以root用户身份登录,请使用以下命令

sudo su

要么

su

编辑文件,

vi /etc/network/interfeces

更改后,使用

  1. 按下Esc以更改模式
  2. :x 保存并退出文件

就这样


0

这个问题已经很久以前回答了,但是如果它再次出现在搜索引擎中,则此链接是一个不错的vim备忘单,如果您经常使用vim,则可能要添加书签。

顺便说一句,您可以使用:wq保存和退出文件(您应该先按esc键退出插入或替换模式,然后按Command),然后使用:q!不保存而退出。

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.