Как сохранить файлы, отредактированные с помощью vim?


66

Я не могу сохранить изменения после редактирования

sudo vi /etc/network/interfaces

Текст перед редактированием:

auto lo
iface lo inet ...

Отредактировано для:

auto eth0
iface eth0 inet dhcp

Какую комбинацию клавиш или последовательность я должен нажать, чтобы сохранить это?


7
Если вам неудобно редактировать файлы в терминальных редакторах, таких как viили vim, я бы рекомендовал использовать графический редактор, geditчтобы открыть их. Заменить sudo viна gksu gedit.
Адитья

5
Или используйте sudo nanoтакже командную строку, но гораздо более интуитивно, чем vi
Уоррен Хилл

Ответы:


125

Вы, вероятно, в режиме редактирования / вставки. Вам необходимо ввести следующую последовательность:

  1. Esc, чтобы выйти из режима редактирования и вернуться в командный режим;
  2. :+ w+ q, Начните с :(толстой кишкой) , затем нажать wи , наконец , qк ш обрядового и д ПИФ (или просто :wписать без выхода)
  3. затем нажмите Enterдля подтверждения.

18

Я обычно нажимаю, ESCа затем держу Shiftи нажимаю zдважды. Точно так же, как вы хотели бы ввести две заглавные буквы Z в текстовом редакторе :) Это сохранит ваш документ и закроет ваш редактор.


4
О, мужик, сдвиг и двойная z, какова была логика проектирования, которая меня интересует: «Какую наименьшую интуитивную команду мы можем создать?», Ubuntu иногда бесит меня, как сумасшедшего
С ..

4
@ Сэм, я просто хотел сказать, что vi не имеет ничего общего с ubuntu. Ubuntu был впервые выпущен в 2004 году, а vi был создан Биллом Джой около 1976 года, вдохновленный ed (начиная с 1971 года). Это означает, что ярлыки в vi предшествуют тем, которые есть в почти любой другой все еще широко используемой сегодня утилите. В некотором роде совпадение, первая версия emacs, которая имеет совершенно разные странные ярлыки, была также выпущена в 1976 году. Стандартизация началась намного позже.
yoniLavi

Вау спасибо за информацию @yoniLavi, мои точки все то же , хотя, так что надеюсь , усилия по стандартизации продолжают двигаться вперед .. :)
S ..

@ Сэм, сочетания клавиш vi на самом деле намного более стандартны, чем вы думаете; они практически вездесущи. Практически любая программа может быть создана для эмуляции сочетаний клавиш vi. Даже стандартные сочетания клавиш Gmail, очевидно (для пользователя Vim) основаны на сочетаниях клавиш vi.
Wildcard

что с ключом esc не работает? Режим вставки, просто остановился.
создатель

3

Проверьте, есть ли у вас права администратора (root) для редактирования файла. используйте эту команду

whoami

Если результат не «root», то вы не должны редактировать файл.

Чтобы войти как пользователь root, используйте команду ниже

sudo su

или же

su

Отредактируйте файл,

vi /etc/network/interfeces

После внесения изменений сохраните файл, используя

  1. Нажмите, Escчтобы изменить режим
  2. :x сохранить и выйти из файла

Вот и все


0

на этот вопрос давным-давно был дан ответ, но в случае, если он снова появится в поисковых системах, эта ссылка является хорошей таблицей vim, которую можно добавить в закладки, если вы часто используете vim.

Кстати, вы можете использовать :wqдля сохранения и выхода из файла (сначала вы должны нажать клавишу esc, чтобы выйти из режима вставки или замены, а затем нажать команды) и использовать :q!для выхода без сохранения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.