Как сохранить файл в vim

Обновлено: 02.07.2024

Vim довольно быстрый редактор, и почти все функции имеют клавиши быстрого доступа. Редактор Vim является очень полезным текстовым редактором например для программирования сценариев и редактирования конфигурационных файлов.

В этой статье мы покажем вам, как сохранить файл в Vim / Vi и выйти из редактора.

Возможно вам будет интересно:

Горячие команды Vim / Vi редактора

Вот небольшой список горячих команд, которые упростят вашу работу с редактором Vim/VI. С помощью этих горячих команд можно выйти из редактора Vim / Vi.

1 Открыть файл Введите имя файла vim
2 Редактировать Файл Нажмите i
3 Сохранить файл Нажмите ESC и введите :w
4 Выйти Нажмите ESC и введите :q
5 Сохранить и выйти Нажмите ESC и введите :wq
6 Выход без сохранения Нажмите ESC и введите :q!

Сохранение файл в Vim / Vi

Во-первых, выполните приведенную ниже команду, чтобы открыть Vim редактор.

Вы должны увидеть новый пустой текстовый редактор.

В большинстве систем, когда вы запускаете vi, он также открывает Vim редактор.

Открытие редактора Vim

Открытие редактора Vim

Чтобы открыть существующий файл с помощью Vim, выполните приведенную ниже команду.

Примечание: Если существующий файл не находится в текущем рабочем каталоге, вы должны указать путь к файлу. Например:

Vim имеет два режима, которые позволяют выполнять различные операции. Таковы они: Нормальный режим и режим вставки.

Нормальный режим

Когда вы открываете Vim, вы находитесь в нормальном режиме. Этот режим позволяет вводить команды Vim и перемещаться по файлу.

Режим вставки

Режим вставки Vim позволяет вставлять текст в редактор. Чтобы переключиться из обычного режима в режим вставки, нажмите клавишу i на клавиатуре. Обратите внимание на надпись — INSERT — в левом нижнем углу Vim.

Режим вставки Vim

Режим вставки Vim

А теперь пройдите вперед и введите или вставьте текст в редактор.

Чтобы сохранить файл, вам нужно сначала вернуться в нормальный режим. Для этого нажмите клавишу ESC, чтобы выйти из режима вставки.

Затем введите :w и нажмите enter. Это сохранит редактируемый файл.

Примечание: Если вы работаете над новым файлом, вам нужно будет указать его имя. Ниже на картинке приведен пример.

Сохраните файл в Vim

Сохраните файл в Vim

Выйти из Vim / Vi

В обычном режиме введите следующую команду, чтобы выйти из Vim.

Выйти из Vim

Выйти из Vim

Чтобы выйти из Vim без сохранения, необходимо выполнить следующую команду;

Так же вы можете сохранить файл и выйти из Vim, делается это следующей командой.

Кроме того, можно ввести приведенную ниже команду, чтобы сохранить изменения и выйти из Vim;

Заключение

В этой статье мы показали вам, как сохранить файл в Vim, а также как выйти из текстового редактора Vim. Если у вас остались какие-либо вопросы, мы будем рады прояснить их в комментариях.

Favorite

Добавить в избранное

Главное меню » Операционная система Linux » Как сохранить файл в Vim/Vi и выйти из редактора

(3 оценок, среднее: 3,67 из 5)

Как сохранить файл в Vim/Vi и выйти из редактора

V im является предпочтительным текстовым редактором для многих пользователей, которые проводят много времени в командной строке. В отличие от других редакторов, Vim имеет несколько режимов работы, которые могут быть немного пугающими для новых пользователей.

Vim или его предшественник Vi предустановлен на MacOS и почти во всех дистрибутивах Linux. Знание основ Vim поможет вам, если вы столкнетесь с ситуацией, когда ваш любимый редактор недоступен.

В этой статье мы объясним, как сохранить файл в Vim/Vi и выйти из редактора.

Режимы в Vim

Когда вы запускаете редактор Vim, вы находитесь в командном режиме. В этом режиме вы можете использовать команды vim и перемещаться по файлу.

Чтобы иметь возможность печатать текст, вам нужно войти в режим вставки, нажав клавишу i. Этот режим позволяет вставлять и удалять символы так же, как в обычном текстовом редакторе.

Чтобы вернуться в командный режим из любого другого режима, просто нажмите клавишу Esc.

Откройте файл в Vim/Vi

Чтобы открыть файл с помощью Vim, наберите vim за которым следует имя файла, который вы хотите отредактировать или создать:

Сохранить файл в Vim/Vi

Команда для сохранения файла в Vim есть :w.

Чтобы сохранить файл без выхода из редактора, вернитесь в командный режим, нажав Esc, введите :w и нажмите Enter.

Как сохранить файл в Vim/Vi и выйти из редактора

  1. Нажмите Esc
  2. Тип :w
  3. Нажмите Enter

Существует также команда обновления, :upкоторая записывает буфер в файл, только если есть несохраненные изменения.

Чтобы сохранить файл под другим именем, используйте :w filewname и нажмите Enter.

Сохраните файл и выйдите из Vim/Vi

Команда сохранить файл в Vim и выйти из редактора :wq.

Чтобы сохранить файл и выйти из редактора одновременно, нажмите, Esc чтобы переключиться в командный режим, введите :wq и нажмите Enter.

Как сохранить файл в Vim/Vi и выйти из редактора

  1. Нажмите Esc
  2. Тип :wq
  3. Нажмите Enter

Выйдите из Vim/Vi без сохранения файла

Чтобы выйти из редактора, не сохраняя изменения, переключитесь в командный режим, нажав Esc, введите :q! и нажмите Enter.

Как сохранить файл в Vim/Vi и выйти из редактора

  1. Нажмите Esc
  2. Тип :q!
  3. Нажмите Enter

Заключение

В этой статье мы показали, как сохранить файл в Vim и выйти из редактора.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Перевод статьи «How to Exit Vim – Vim Save and Quit Command Tutorial».


Я пользуюсь Vim с тех самых пор, как стал учиться программированию. Во всех других редакторах и IDE я сразу же ставлю плагин Vim.

Конечно, я знаю, что работа с Vim с непривычки может быть трудна. В этой статье мы рассмотрим некоторые основные концепции, касающиеся работы с этим редактором, и одну из базовых тем: как выйти из Vim.

Я также буду указывать команды, с помощью которых можно открыть документацию редактора по той или иной теме. Для просмотра справки нужно сначала нажать ESC, затем запустить предложенную команду, например, :h vim-modes , и нажать Enter.

TL;DR – Как выйти из Vim

Ну а если вы хотите разобраться во всем этом подробнее, читайте дальше!

Что из себя представляют режимы Vim?

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

К счастью, чтобы приступить к работе с редактором, все 14 режимов знать не обязательно. Но о трех знать все же следует. Это нормальный режим, режим вставки и режим командной строки.

Что такое нормальный режим Vim?

Нормальный режим имеет огромное значение. Именно в этом режиме мы можем запускать команды (есть исключения, но в этой статье мы не будем их рассматривать).

Документация по режимам: :h Normal , :h mode-switching .

Что такое режим вставки?

Мы используем режим вставки для редактирования текущего файла (в Vim он обычно рассматривается как buffer). По умолчанию при открытии файла мы попадаем в нормальный режим. Если нужно внести изменения в файл, сначала нужно переключиться в режим вставки.

Но есть и другие способы войти в режим вставки. Кроме i , можно нажать o , O , a , A , I и др.

Почитать подробнее можно в документации: :h Insert , :h i_<Esc> , :h o , :h O , :h a , :h A , :h I .

Что такое режим командной строки?

Режим командной строки обычно временный, он используется для запуска «Ex-команд» (не путать с командами в нормальном режиме!).

Любопытный факт: название Vim образовано от «Vi Improved» («улучшенный Vi»). Сам этот редактор создан на базе редактора vi. А вот vi создан на основе текстового редактора ex. И vi, и ex были созданы Биллом Джоем.

Войти в режим командной строки можно, нажав : в нормальном режиме. Например, когда вы запускаете команды для просмотра документации, которые я приводил выше, сразу после ввода : вы фактически входите в режим командной строки.

Для возврата в нормальный режим нужно нажать клавишу ESC.

Подробнее читайте в документации: :h Command-line , :h cmdline-lines .


Как выйти из Vim

Для выхода из редактора Vim используется команда quit («выход»). Если вы заглянете в документацию :h quit , вы заметите, что перед quit стоит двоеточие. Это означает, что quit используется в режиме командной строки.

Чтобы войти в режим командной строки, сперва нужно убедиться, что вы находитесь в нормальном режиме, а затем просто набрать двоеточие. Теперь, перейдя в режим командной строки, можно просто набрать quit и нажать Enter или return.

Вероятно, вы также заметили в документации команду :q . Это сокращенная версия команды :quit . То есть выйти можно и выполнив :q .

Однако, стоит заметить, что если вы внесли какие-либо изменения в файл, такой метод выхода не сработает.

В таком случае нужно использовать команду :wq , которая означает «записать и выйти» («write and quit»).

Соответствующую документацию можно почитать, выполнив команду :h :wq .

Бывает, что нам вовсе не нужно сохранять сделанные изменения. Для этих случаев есть команда :q! . Восклицательный знак как бы превращает команду выхода в команду принудительного выхода.

Имейте в виду, что при вводе этой команды вы потеряете все внесенные изменения и у вас практически не будет шансов их восстановить.

Проблемы выхода из Vim и как их решать

Что, если я не хочу переходить в режим командной строки?

Что, если :wq не сработает?

Вот это, кстати, вполне возможно, если вы открыли файл, который имеете право только читать, или если у файла нет имени.

Вы можете распрощаться со всеми своими изменениями и просто выйти из файла, выполнив :q! , а затем зайти снова (предварительно введя sudo ) и заново внести все нужные правки.

Также можно сохранить этот файл в директории, где у вас есть права записи, например, в своей домашней или даже в /tmp . После этого можно будет переместить этот файл в ту директорию, где у вас не было прав записи.

Чтобы это все проделать, выполните команду :w

/my-backup-file . Файл сохранится в домашней директории. Затем при помощи команды mv переместите файл в нужное место.

Обратите внимание: так же следует поступать, когда Vim жалуется на отсутствие имени у файла.

Есть еще одно решение. Можно запустить команду :w !sudo tee % .

Здесь !sudo означает запуск команды sudo в вашей оболочке.

Например, команда :ls выведет список всех буфферов (открытых файлов) в Vim, а вот :!ls запустит команду ls из оболочки и отобразит результат.

tee копирует из стандартного ввода (stdin) в стандартный вывод (stdout).

% означает имя текущего файла.

Вы увидите предупреждение, как в примере выше. Оно выводится, потому что содержимое файла было обновлено в оболочке, без участия самого Vim. Поэтому Vim рассматривает это изменение как внешнее и предупреждает вас о нем.

Вы можете просто нажать Enter, потому что это внешнее изменение вы сделали намеренно.

Также вы можете заметить, что над предупреждением показывается содержимое измененного файла. Это нормально. Если не хотите это видеть, можете дополнить команду перенаправлением stdout в null :w !sudo tee% >/dev/null .

Что, если я заблудился и мне нужно немедленно выйти?

Когда вы в следующий раз откроете этот файл, вы, по идее, увидите это (я использую файл foo.txt в качестве примера):

Без паники! Это нормально. Vim пытается помочь вам восстановить ценные изменения, которые вы, возможно, потеряли.

Проверив текущую директорию, вы найдете в ней скрытый файл с расширением .swp. Это swap-файл. Документацию можно посмотреть, введя команду :h swap-file.


swap-файл

Если нажать R для восстановления, мы увидим следующее:


Заключение

В этой статье мы рассмотрели некоторые базовые вещи относительно режимов Vim, а также подробно разобрали, как можно выйти из этого редактора. Также мы научились разрешать распространенные проблемы, связанные с выходом из Vim.

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

VIM имеет три режима работы:

  • командный
  • режим редактирования
  • визуальный режим

Для перехода в командный режим требуется нажатие Esc. Все команды в VIM вводятся с символа двоеточия - ":" (без кавычек). Для перехода в визуальный режим требуется нажатие Ctrl+V.

В данной статье мы рассмотрим основы работы с редактором VIM и перечислим распространённые команды.

Использование редактора VIM

Для того, чтобы отредактировать или просмотреть файл, вводим в командной строке:

Перед нами откроется редактор VIM, как показано на рисунке:


Меняем содержимое файла на произвольное.
После внесения изменений нажимаем "ESC" для выхода в "командный режим", вводим ":" (двоеточие), вводим "wq" (write-quit) - для сохранения изменений и выхода; "q!" - для выхода без сохранения, и нажимаем "Enter".


Теперь Вы можете работать с файлом, изменять и сохранять изменения. Дальше перечислим другие команды для работы с файлами и текстом.

Работа с файлами


:q! - закрыть файл без сохранения;
:qa! - закрыть все файлы без сохранения;
:wq - закрыть и сохранить файл;
:wqa - закрыть все файлы с сохранением.

Работа с текстом

Перемещение по тексту

VIM обладает большими возможностями для ускорения работы с текстом и имеет большое количество команд для перемещения по тексту.

Для перемещения можно использовать стрелочки, а также h (Влево), l (Вправо), j (Вниз), k (Вверх).
Другие команды для перемещения по тексту:

|, 0, home — в начало строки;
^ — на первый непустой символ в строке;
$, end — в конец строки;
m — на половину ширины экрана;
g — на нижнюю строку;
e — до конца слова;
- — на строку вверх и на первый непустой символ;
+, Enter — на строку вниз и на первый непустой символ;
G — на последнюю строку;
H — на первую строку экрана;
M — на среднюю строку экрана;
L — на последнюю строку экрана;
w — на слово вперед;
b — на слово назад;
( — на предложение назад (до точки);
) — на предложение вперед (до точки);
— на абзац назад (до пустой строки);
> — на абзац вперед (до пустой строки);
:ju — список переходов.

Редактирование текста

VIM также имеет большое количество возможностей для быстрого редактирования.

Del, x - удаление символа под курсором;
X - удаление символа перед курсором;
u, :u — отмена последнего действия;
U — отменить все изменения, повлиявшие на текущую строку;

— перевести в верхний или нижний регистр в зависимости от текущего символа под курсором;
C — удалить от курсора и до конца строки с переходом в режим ввода;
D — удалить от текущего символа до конца строки;
dd — вырезать строку, на которой стоит курсор. Перед любой командой можно ввести числовой модификатор, который укажет сколько раз выполнить команду. Например: 3dd - удалит три строки начиная с текущей;
yy — копирует строку. Также можно использовать числовой модификатор;
p — вставить после текущей строки;
P — вставить перед текущей строкой;
<< — сдвиг влево текущей строки;
>> — сдвиг вправо текущей строки;
J — объединение текущей строки с последующей.

Для программистов

:set number — включить отображение номеров строк;
:set nonumber — отключить отображение номеров строк;
= — расстановка отступов для языка программирования С.

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел "Помощь и поддержка".

Читайте также: