Как перейти в командный режим vim
Перейти к содержимому

Как перейти в командный режим vim

  • автор:

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

url image

VIM (сокр. от Vi Improved, произносится «Вим») — текстовый редактор, созданный на основе более старого Vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации. На выделенных серверах установлен VIM, также создан alias, который при вызове команды VI вызывает VIM. Если на сервере нет текстового редактора vim — его можно установить. Debian/Ubuntu:

# apt install vim

CentOS/AlmaLinux:

# yum install vim
  • 1. Режимы работы
  • 2. Основные команды VIM перемещения по тексту
  • 3. Работа с буфером
  • 4. Замена текста
  • 5. Как выйти из редактора 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). Если вы не хотите сохранять изменения, используйте следующую команду.

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

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

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

(esc):wq!

Редактор Vim и как с ним работать

Vim — это текстовый редактор, который можно удобно настроить под себя благодаря расширениям и большому выбору инструментов для пользователя. Он работает в терминале, что даёт возможность разработчикам значительно быстрее выполнять задачи. За счёт командных функций Vim помогает увеличить продуктивность работы. Это выбор профессионалов, которые используют консоли для быстрого и удобного написания кода.

В Linux есть и другие редакторы кода, которые тоже работают в терминале. Например, редактор Vi, на базе которого и создан Vim. У него много удобных функций — можно быстро перемещаться по тексту, пользоваться командами, плагинами. Но Vim в освоении всё же более простой.

А ещё есть редактор Nano, у которого интуитивно понятный интерфейс и есть много функций, свойственных графическим приложениям. Он позволяет вырезать и вставлять, искать и заменять слова и так далее. Его удобно использовать для решения быстрых и простых задач, однако если для программиста в приоритете максимально расширенный функционал, ему всё же стоит присмотреться именно к Vim.

В чём особенность Vim

От многих других редакторов Vim отличается тем, что здесь применяется два основных режима ввода — командный и текстовый. Режимы переключаются вручную. После запуска редактор автоматически открывается в командном режиме. Когда пользователь переключается с одного режима на другой, клавиши клавиатуры начинают работать немного по-другому. К примеру, при включённом режиме вставки при нажатии клавиши «‎W»‎ эта буква будет вводиться в соответствующем поле. А если вернуться к командному режиму, то эта же клавиша будет перемещать курсор вперёд на одно слово.

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

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

Начальная практика в Vim

Важно сразу приступать к практике и пробовать выполнять все задачи именно в Vim. Предстоит просмотреть текстовый файл, поправить скрипт Python или сделать какую-то заметку — непременно следует делать это всё в Vim. И уже на этом этапе разработчику пора понемногу отучать себя от использования мыши (трекпада).

Вместо заучивания множества клавиатурных сокращений нужно учиться самостоятельно анализировать и искать путь решения при выполнении любой задачи в Vim. А именно — искать самый короткий порядок нажатия клавиш для достижения конкретной задачи. Через несколько недель пользователь автоматически запоминает нужные команды.

Чтобы как можно быстрее освоить Vim, нужно использовать вышеупомянутые клавиатурные сокращения Vim повсюду. Пользователям браузеров Firefox, Chrome, Brave, Edge стоит установить расширение Vimium. Оно как раз предназначено для того, чтобы применять в деле клавиатурные сокращения Vim. С их помощью можно быстро перемещаться и отучаться таким образом от работы с мышкой.

Тем, кто использует какую-либо версию IDE, рекомендуется найти плагин или расширение для имитации клавиатурных сокращений Vim. Пользователям разных видов IDE от JetBrains хорошо подойдёт ideavim. А любителям работать с VS Code нужно будет найти расширение VSCodeVim. Для Jupyterlab тоже есть хороший вариант — нужно установить jupyterlab-vim, чтобы включились клавиатурные сокращения Vim.

При запуске редактора можно сразу начать работать с нужным файлом и применить к нему нужную опцию, набрав:

$ vim опции имя_файла

Можно применить следующие опции:

  • -R — открыть в режиме «‎только чтение»‎;
  • -g — включить графический режим;
  • -w — сохранить все действия в файл;
  • -b — воспользоваться двоичным режимом, чтобы редактировать исполняемые файлы;
  • -x — активировать шифрование файла при записи;
  • -d — найти различия в файлах (потребуется указать несколько файлов для открытия);
  • -C — включить режим совместимости с Vi;
  • -n — отключить функцию автоматического сохранения для восстановления файла при ошибке;
  • «‎+команда»‎ — эта опция отвечает за выполнение команды после запуска редактора;
  • +номер — перемещение курсора к определённой пользователем строке после запуска;
  • +/шаблон — найти нужный участок в шаблоне и переместить курсор к его началу.

Командный режим

Все введённые символы редактор будет воспринимать как команды. При этом можно дублировать команды, используя цифры. К примеру, если перед введением буквы h нажать цифру 4, то курсор переместится влево не на 1 символ, а сразу на 4. Команды для перемещения по тексту:

  • h или l — переместить курсор влево или вправо на 1 символ;
  • j или k — переместить курсор на 1 строку вверх или вниз;
  • w или b — переместить курсор на 1 слово влево или вправо;
  • H — уйти в нижнюю часть экрана;
  • G — пролистать до конца файла;
  • zz/zt/zb — перемещать по экрану строку с курсором в середину/верх/низ;
  • Ctrl+u или Ctrl+d — прокрутить область просмотра в верхнем или нижнем направлении на полстраницы.

Команды для вставки и копирования:

  • p или P — вставить текст после курсора или перед ним;
  • y — скопировать символ;
  • yy или Y — скопировать целую строку.

Команды для отмены и удаления:

  • u — отменить последнее действие;
  • U — отменить последнее действие в указанной строке, где стоит курсор;
  • d — удалить символ;
  • dd — удалить строку целиком;
  • D — удалить всё, что находится на участке от курсора до конца строки;
  • dt — удалить часть текста, которая находится между местом курсора и следующим вхождением конкретного символа;
  • ciw — удалить конкретное слово и сразу переключиться в режим ввода;
  • C — удалить текст начиная от места курсора и до конца строки, затем снова автоматически происходит переход в режим ввода.

Некоторые команды не работают без указания дополнительных условий. Например, для удаления четырёх символов слева от курсора, нужно задать не просто d, а d4h, — тут мы добавили цифру (количество символов) и команду h (она перемещает курсор влево на 1 символ).

Ещё несколько полезных команд:

  • v — выделить текст;
  • ggvG= — выровнять текст во всём файле (переместиться в начало, переключиться на режим VISUAL, выделить весь текст документа, настроить отступ выделенных строк);
  • . — повторить ещё раз последнюю команду;
  • n или N — продолжить поиск вперёд или назад;
  • ~ — переключить регистр у символа, который выделен или на котором находится курсор;
  • /шаблон — искать вхождение;
  • %s/шаблон/заменить — заменить первое слово вторым;
  • ZZ — сохранить и выйти из редактора.

Ещё раз напомним — не нужно специально заучивать команды. И вообще, лучше посмотреть на них немного под другим углом, ведь они как раз хорошо показывают, что в программе работать удобно и быстро. И мышью пользоваться не обязательно.

Режим вставки (текстовый)

Чтобы перейти в этот режим из командного, нужно использовать команду i. Причём она не просто включает его, но и сразу вставляет текст в область до курсора. Любой введённый символ редактор не будет считает командой, а вставит его в текст. Чтобы обратно перейти в командный режим, нужно нажать клавишу «‎Esc»‎.

В текстовый режим можно переключиться и с помощью других команд:

  • I — вставить текст с начала строки;
  • a — вставить текст в область после курсора;
  • A — вставить текст в конец строки;
  • r — заменить символ;
  • R — заменить несколько символов;
  • o — создать строку ниже строки с курсором;
  • O — создать строку выше строки, где находится курсор.

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

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

Для включения этого режима пользователь, находясь в командном режиме, должен нажать двоеточие (:). Теперь нужно задать конкретную команду для поиска или замены — ввести её и потом нажать клавишу «‎Enter»‎. Как только она выполнится, Vim автоматически вернётся в командный режим. В режиме работают следующие команды (в начале не забываем ставить двоеточие):

  • e файл — создать новый файл;
  • r файл — вставить содержимое этого файла в текущий файл;
  • w — сохранить изменения;
  • r! — задать выполнение команды оболочки и вставку полученного ответа в Vim;
  • buffers — просмотреть открытые файлы;
  • set переменная=значение — задать значение переменной для управления процессами редактора;
  • q — выйти из Vim;
  • q! — выйти из Vim, не сохранив изменения.

Визуальный режим

Этот режим похож на вышеописанный. С помощью команд, используемых вместе со стрелками и командами навигации, пользователь может выделять части текста и затем использовать для них команды командного режима. По сравнению с ним визуальный режим удобнее, потому что здесь разработчик сразу видит, к какому блоку текста применится команда.

Команды визуального режима:

  • v — переход в посимвольный режим;
  • V — переход в построчный режим;
  • CTRL-V — переход в режим визуального блока.

Про клавишу «‎Caps Lock»

Обычно эта клавиша мешает, но её можно использовать для своих целей, так как она находится в удобной области клавиатуры. Речь идёт о превращении «Caps Lock» в клавишу «Esc». В редакторе Vim как раз такая клавиша нужна для того, чтобы переключать режимы.

Для разных ОС своя инструкция по превращению клавиши «Caps Lock» в «Esc»:

  • Windows и WSL — понадобится программа uncap;
  • MacOS — можно просто использовать системные настройки;
  • Linux — здесь пользователям нужны StackOverflow и Google.

Для пользователей Линукс хорошо подходит setxkbmap — она позволяет сделать из «Caps Lock» ещё одну клавишу «Esc». Затем нужно просто включить автозапуск setxkbmap при запуске системы:

setxkbmap -option caps:escape

Немного о vimtutor

Для изучения программы в неё встроили справочную систему vimtutor. В принципе, её использовать нет необходимости, особенно если пользователь уже испытал редактор на практике. Но заглянуть туда можно.

Для запуска справки нужно включить командный режим и набрать:

Затем нужно будет нажать :q для выхода из справочника.

Примечание. Пользователям Windows стоит пользоваться специальной подсистемой для Линукса — WSL (Windows Subsystem for Linux). Она хорошо подходит не только для изучения vimtutor, но и для дальнейшей работы с редактором.

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

Запоминаем главное

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

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

В Vim есть 4 основных режима — командный, текстовый, режим командной строки и визуальный.

Клавишу «Caps Lock» можно преобразовать в клавишу «‎Esc»‎ и использовать её для переключения режимов.

Можно использовать встроенный в редактор справочник vimtutor для более детального изучения программы.

Основы работы с редактором VIM

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

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

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

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

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

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

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

kondr ~ $ vim test.txt

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

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

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

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

:q — закрыть файл, если не требует сохранения, т.е. в файле не было изменений. В противном случае VIM выдаст сообщение об ошибке, как показано на рисунке:

: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 — отключить отображение номеров строк;
= — расстановка отступов для языка программирования С.

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

Vim: рабочие режимы, хоткейсы и команды

Консультация по продукту 1cloud

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

Горячие клавиши Vim

Vim имеет разные режимы работы, каждому из которых соответствует свой набор горячие клавиш (хоткейсов). А ещё у вима своя собственная терминология, на базе которой организованы группы хоткейсов. Так, копирование в Vim — это yank, а хоткейсы для копирования начинается с y . Удаление — delete. Хоткейсы для удаления и вырезания начинаются с d . Вставка — put. Хоткейсы для вставки начинаются с p . Визуальный режим — visual. Хоткейсы для работы в визуальном режиме начинаются с v . Поначалу эта система кажется запутанной, но немного поработав в ней — вы привыкнете, и руки сами запомнят все нужные комбинации. Перейдем к рассмотрению хоткейсов. Начнём с горячих клавиш для «обычного режима».

Горячие клавиши «обычного режима»

  • h , j , k , l — замена классических стрелок для навигации по документу
  • w — сдвиг курсора на слово вправо
  • b — сдвиг курсора на слово влево
  • Shift + w — сдвиг курсора до пробела вправо
  • Shift + b — сдвиг курсора до пробела влево
  • ^ ( Shift + 6 ) — переместить курсор к первому пробелу в начале строки
  • 0 — переместить курсор к началу строки
  • $ ( Shift + 4 ) — переместить курсор в конец строки
  • Ctrl + y — переместить курсор на строку вверх, с сохранением позиции
  • Ctrl + e — переместить курсор на строку вниз, с сохранением позиции
  • < — переместить курсор на абзац вверх
  • > — переместить курсор на абзац вниз
  • Ctrl + d — переместить курсор на полстраницы (экрана) вниз
  • Ctrl + u — переместить курсор на полстраницы (экрана) вверх
  • Ctrl + f — переместить курсор на страницу (экран) вниз
  • Ctrl + b — переместить курсор на страницу (экран) вверх
  • g g — перейти в начало файла
  • G ( Shift + g )— перейти в конец файла
  • номер строки + G — переместить курсор на конкретную строку
  • / искомый текст ↵ Enter — найти текст и переместиться к нему
  • ? искомый текст ↵ Enter — то же самое, но искать с конца документа
  • n — повторить поиск текста (сразу переместит к искомому тексту)
  • N — повторить поиск назад (сразу переместит к искомому тексту)
  • g ~ ~ — инвертировать регистр строки
  • g g g u G — перевести весь текст в нижний регистр
  • g g g U G — перевести весь текст в верхний регистр

Разберем отдельно хоткейсы и команды поиска и удаления. Начнем с команд поиска:

Хоткейсы для удаления:

  • d ^ ( Shift + 6 ) — удалить все символы от курсора до начала строки
  • d $ — удалить все символы от курсора до конца строки
  • d / слово — удалить всё от курсора до введенного слова
  • d f символ — удалить всё от курсора до указанного символа

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

Для быстрого перехода в режим редактирования достаточно нажать горячую кнопку i, а чтобы выйти — Esc.

Перейти в режим редактирования можно также с помощью следующих хоткейсов:

  • Shift + i — перейти в режим редактирования текста сначала строки
  • a — перейти в режим редактирования текста после курсора
  • Shift + a — перейти в режим редактирования текста с конца строки
  • o — перейти в режим редактирования текста с новой строки под курсором
  • O ( Shift + o ) — перейти в режим редактирования текста с новой строки над курсором
  • число s ↵ Enter — удалить заданное кол-во символов после курсора и перейти в режим редактирования
  • число S ( Shift + s ) ↵ Enter — удалить заданное кол-во строк вместе с текущей и перейти в режим редактирования
  • R — заменить символы после курсора и перейти в режим редактирования
  • r — заменить один символ и перейти в режим редактирования
  • c c — удалить строку и перейти в режим редактирования
  • C ( Shift + c ) — удалить символы от курсора до конца строки и перейти в режим редактирования

Для удаления символов, слов и строк существует целый набор хоткейсов:

  • x — удалить символ под курсором
  • число x — удалить заданное кол-во символов
  • X ( Shift + x ) — удалить символ перед курсором
  • число X — удалить заданное кол-во символов перед курсором
  • d e — удалить символы с текущего до конца слова, не включая пунктуацию и пробел в конце слова
  • d E — удалить символы с текущего до конца слова, включая пунктуацию и пробел в конце слова
  • d w — аналог de с удаление пробела в конце
  • d i w — удалить слово под курсором
  • d d — вырезать текущую строку
  • числ d d — вырезать заданное кол-во строк, начиная с текущей
  • d b — удалить символы с текущей позиции курсора до начала слова
  • d O — удалить символы с текущей позиции курсора до начала строки
  • D ( Shift + d ) — удалить символы с текущей позиции курсора до конца строки

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

  • y i w — скопировать слова целиком
  • y w — скопировать символы от курсора до конца слова
  • y ^ ( Shift + 6 ) — скопировать все от курсора до конца строки
  • y y — копировать строку целиком, включая символ новой строки
  • число y y — скопировать заданное кол-во строк, включая текущую
  • y $ ( Shift + 4 ) — скопировать всё от курсора до конца строки
  • y ) ( Shift + 0 ) — скопировать всё от курсора до конца абзаца
  • y ( ( Shift + 9 ) — скопировать всё от курсора до начала абзаца
  • p — вставить содержимое буфера после курсора
  • P — вставить содержимое буфера перед курсором
  • J — слить текущую строку с последующей
  • число J — слить заданное кол-во строк.

А вот и небольшой лафхак, связанный с информационной строкой внизу окна вима. Если нужно слить все строки в абзаце — установите курсор в начале абзаца и воспользуйтесь сочетанием клавиш y ) . В внизу окна вима выведется кол-во скопированных строк, а теперь воспользуйтесь хоткейсом для слияния заданного кол-ва строк — число J .

Теперь мы знаем множество хоткейсов для навигации и редактирования текста, однако отменять последние действия мы пока ещё не умеем. Для отмены последнего действия существует несколько хоткеев:

  • u — отмена последнего действия
  • U — отмена всех действий в строке. Если строка удалена — команда не сработает.

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

Горячие клавиши визуального режима

Визуальный режим позволяет выбирать текст и управлять им. Установите курсор в место визуального выделения текста и нажмите v . Смещение курсора влево или вправо — выделяет текст посимвольно, смещение курсора вверх и вниз — выделяет текст построчно.

Можно войти в визуальный режим сразу сразу с функции построчного выделения текста — Shift + v . Помимо посимвольного и построчного выделения текста, существует режим блочного выделения текста — Ctrl + v .

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

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

  • V u — перевести строку в нижний регистр
  • V U — перевести строку в верхний регистр
  • v E U — перевести слово под курсором в верхний регистр
  • v E ~ — инвертировать регистр слова

Итак, мы рассмотрели два режима: обычный режим и визуальный. Оба режима позволяют редактировать текст внутри документа. Теперь рассмотрим режим, который позволяет управлять состоянием документа.

Команды режима управления (командный режим)

Чтобы перейти в командный режим, находясь в обычном режиме — нажмите : ( Shift ; ). В нижней строке состояния Vim должно появиться двоеточие. Это означает, что командный режим активирован и ожидает ввода команд.

Если двоеточие не появилось — нажмите несколько раз Esc , а затем повторите ввод двоеточия. Ввод команды подтверждается, нажатием кнопки ↵ Enter .

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

Команды работы с документом

Существует множество команд для работы с документом. Все команды начинаются с : . Приведем основные команды для работы с документами:

  • Z Q или q ! — выйти без сохранения
  • q a ! — выйти из всех файлов без сохранения
  • Z Z или w q или x — записать и выйти
  • w — записать файл
  • s a v имя_файла — сохранить как
  • w ! — сохранить в новый файл
  • s h — свернуть Vim и перейти в командную оболочку
  • Ctrl + d или exit
  • q — выйти из редактора
  • e ! — отменить все изменения в текущей сессии
  • 1 , 10 w имя_файла — создать файл и скопировать в него содержимое текущего файла с 1 по 10 строки
  • 1 , 10 w >> имя_файла — добавить в файл с 1 по 10 строки из текущего файла
  • r название_файла — вставить содержимое из файла
  • 2 3 r название_файла — вставить содержимое файла после 23 строки

Команды для замены частей текста

Основной конструкцией для составления поискового запроса в командном режиме является — :%s . Далее идут аргументы запроса. Все команды запроса вводятся в командном режиме, с активным : Приведём популярные команды поиска и замены:

  • %s/искомое_слово/слово_замена/g — найти и заменить все искомые слова на слова замены
  • 5,10s/искомое_слово/слово_замена/g — найти и заменить все искомые слова на слова замены между 5 и 10 строчками
  • 5,$s/искомое_слово/слово_замена/g — найти и заменить все искомые слова на слова замены, начиная с 5 строчки и до конца файла
  • %s/искомое_слово/слово_замена/gi — заменить искомое слово на слово замену с учетом регистра
  • %s/ *$//g — убрать все пробелы из файла
  • %s/\r//g — убрать все возвраты каретки из файла
  • %s#>[^##g — убрать html-теги из документа
  • %s/\
  • %s/\
  • %s/.*/\u& — перевести первую букву первого слова в каждой строке в верхний регистр
  • %s/.*/\l& — перевести первую букву первого слова в каждой строке в нижний регистр

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

Настройка Vim

Vim можно настроить командами через командный режим или с помощью конфигурационного файла vimrc , который обычно расположен в директории: /etc/vimrc/vimrc .

Изначально vimrc содержит множество технической информации не нужной нам, поэтому откроем файл и очистим его, используя визуальный режим и некоторые хоткейсы обычного режима: перейдём в визуальный режим — v , теперь нажмём G (перевод курсора в конец документа) и нажмем del . Всё, файл очищен, теперь можно приступать к настройки Vim.

Настройки задаются короткими кодовыми командами, начинающимися с ключевого слова set. А комментарии, поясняющие значение команды, начинаются с » .

Добавим следующие полезные опции и настройки, которые сделают работу в Vim более приятной:

set number » — включить нумерацию строк
set iminsert=0 » — игнорировать регистр при поиске
set ic » — подсветить поиск
set ts=4 » — задать размер табуляции в 4 пробела
set showcmd » — отображать, выполняемую команду
set linebreak » — перенос по словам

Помимо опций, существует ещё множество разнообразных плагинов, которые расширяют возможности Vim. О них мы расскажем в других публикациях. А на этом разбор основных хоткейсов, команд и базовых настроек вима для удобной и продуктивной работы в текстовом редакторе закончен.

Поделиться в соцсетях:

Средняя оценка: 5,0, всего оценок: 8 Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *