Тариф успешно добавлен в корзину
В корзину
url image

Текстовый редактор VIM — краткое руководство

VIM (сокр. от Vi Improved, произносится «Вим») — текстовый редактор, созданный на основе более старого Vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации.

На выделенных серверах установлен VIM, также создан alias, который при вызове команды VI вызывает VIM.

Если на сервере нет текстового редактора vim - его можно установить.

Debian/Ubuntu:

# apt install vim

CentOS/AlmaLinux:

# yum install vim

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

Режимы работы

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

Выход из режима редактирования осуществляется клавишей Escape (далее обозначена как esc), переход в режим редактирования клавишами i или insert.

Находясь в режиме команд, можно выполнять сложные операции редактирования текста с помощью клавиши : (двоеточие). При нажатии этой клавиши курсор устанавливается в последнюю строку экрана, поэтому данный режим называется режимом последней строки. Он считается особым типом режима команд.

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

# vim путь_к_файлу/имя_файла

Например, чтобы отредактировать конфигурационный файл NGINX с помощью VIM, напишем:

# vim /etc/nginx/nginx.conf

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

При запуске VIM по умолчанию открывается режим команд (или командный режим).

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

Если вместо i нажать a, текст будет вставляться за символом, на котором стоит курсор (обычно при редактировании файлов используется этот метод, но тут кому как удобнее), если нажать o — будет вставлена новая строка.

Стирать текст можно как в режиме редактирования (как в любом классическом редакторе), так и в режиме команд (клавиша esc, затем  клавиша x — она работает как клавиша del, то есть стирает вперед, если нажать shift+x, то будет стирать назад по аналогии с backspace).

Чтобы перейти в режим последней строки, следует выйти в режим команд (клавиша esc), затем нажать на двоеточие (:). Далее можно либо ввести команду (рассмотрим команды далее), либо выйти обратно в режим команд (клавиша esc).

Команды в VIM можно вводить в режиме последней строки (через двоеточие) и в режиме команд (с помощью клавиши SHIFT). Отметим, что VIM воспринимает команды только в английской раскладке, поэтому перед работой не забудьте ее проверить

Основные команды VIM перемещения по тексту

1. Перейти к строке с номером:

(esc) :номер или (esc),номер,shift+g

2. Поиск по тексту:

(esc) /слово_которое_ищем

Например, ищем слово «timeout». Переходим в режим команд (esc), вводим / (слэш) и timeout. Курсор перейдет на первое слово timeout в файле. Чтобы перейти к следующему слову timeout в тексте, нажимаем n, чтобы перейти к предыдущему — нажимаем N. Как только находим нужное нам слово в тексте — выходим из поиска клавишей esc.

3. Переместить курсор на начало следующего слова:

(esc) w (можно, например, перейти на 3 слова, нажав 3w)

4. Переместить курсор на конец следующего слова:

(esc) e

5. Переместить курсор на начало предыдущего слова:

(esc) b

6. Переместить курсор на конец предыдущего слова:

(esc) ge

7. Переместить курсор на следующий абзац:

(esc) }

8. Переместить курсор в начало строки:

(esc) 0 (ноль)

9. Переместить курсор в конец строки:

(esc) $

10. Переместить курсор на 10 строк вниз:

(esc) 10j

11. Переместить курсор на 5 символов вправо:

(esc) 5l

12. Переместить курсор в конец документа:

(esc) G или shift+g

13. Переместить слово в начало документа:

(esc) gg

14. Переместить курсор в предыдущее место:

(esc) ctrl+o

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

Работа с буфером

В режиме команд в VIM можно работать со строками, не используя ctrl+c, ctrl+x и ctrl+v. В Linux вместо них можно использовать сочетания клавиш ctrl+insert (копировать) и shift+insert (вставить), но мы рассмотрим примеры работы с буфером в VIM.

(esc) dd — удаляет строку в буфер (аналог ctrl+x).
(esc) 10dd — удаляет 10 строк в буфер.
(esc) yy — скопирует строку в буфер (аналог ctrl+c).
(esc) 10yy — скопирует 10 строк в буфер.
(esc) p — вставит содержимое буфера под курсором.
(esc) P — вставит содержимое буфера над курсором (аналог ctrl+v).

Замена текста

Один из мощных инструментов VIM — замена слова в тексте на другое. В Linux есть инструменты для этого, однако с помощью VIM можно, например, заменить все слова в строке.

(esc):s/что_меняем/на_что_меняем/ — в данном случае меняем первое слово «что_меняем» в строке на «на_что_меняем».

(esc):s/что_меняем/на_что_меняем/g

где g обозначает замену до конца строки, в таком случае меняются все слова «что_меняем» в строке.

Если надо менять информацию по всему файлу, то тогда пишем символ % в начале команды:

(esc):%s/что_меняем/на_что_меняем/g

В VIM есть очень удобный функционал комментирования строк.

  • Комментировать блок текста от курсора до строки номер 10

:.,10s/^/#/

  • Комментировать блок текста от курсора до конца

:.,$/^/#/

Как выйти из редактора VIM

 

Среди пользователей Linux много шуток о том, что можно зайти в VIM и не выйти. Однако выход всё же есть. Мы расскажем, как можно это сделать.

  • Стандартный выход осуществляется последовательностью нажатий (esc):q

Данная команда обычно используется в случаях, когда вы просто открыли VIM, чтобы что-то посмотреть, ничего не меняя. Если файл редактировался, то VIM не даст вам выйти, и вы увидите ошибку: E37: No write since last change (add ! to override). Если вы не хотите сохранять изменения, используйте следующую команду.

  • Выход без сохранения: (esc):q! или shift+zq

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

  • Выход с сохранением текста: (esc):wq или (esc):exit или shift+zz

Добавив w, мы говорим VIM-у, что файл нужно сохранить с изменениями. Для начала рекомендуем научиться использовать режим последней строки, т.е. команды q! или wq. Со временем для ускорения работы можно начать использовать shift+zq и shift+zz.

  • Выход с принудительным сохранением (например, если файл read-only):

(esc):wq!

 

 

 

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!