Как использовать Vim: руководство по основам

Vim – самый мощный и универсальный редактор кода, доступный для Unix-подобных систем. Это расширение редактора Vi, разработанное Биллом Джоем. Vim доступен по умолчанию в большинстве систем Linux и BSD.

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

Как работает Vim?

Vim отличается от традиционных текстовых редакторов Linux . Он поддерживает философию Unix: делать одно и делать все правильно. Основная идея состоит в том, что как программисты мы тратим большую часть времени на редактирование кода, а не на его написание.

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

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

Как использовать Vim в режиме вставки

Когда вы открываете vim, он запускается в обычном режиме. Вы можете переключиться в режим вставки, нажав клавишу i . Это вызывает режим вставки в позиции курсора. Вы должны увидеть индикацию в нижнем левом углу.

Теперь вы можете ввести любой текст, и vim скопирует его в буфер. Чтобы сохранить прогресс, вернитесь в нормальный режим, нажав клавишу выхода <ESC> . Теперь введите следующую команду vim.

 :w

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

Используйте I для вставки текста в начало текущей строки. Вы можете использовать клавишу a для добавления текста сразу после курсора. Используйте A для добавления текста в конец строки.

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

 :wq

Как использовать Vim в нормальном режиме

Пользователи Vim большую часть времени проводят в обычном режиме. Здесь вы можете перемещаться по текстам и выполнять быстрое редактирование. Нажатие клавиши выхода <ESC> из любого режима вернет вас в нормальный режим.

Вместо стандартных клавиш со стрелками vim использует hjkl ( h для левого, j для вниз, k для вверх и l для правого) для навигации. Поначалу это может показаться контрпродуктивным. Но vim делает это, чтобы сэкономить время, необходимое пользователям для нажатия клавиш со стрелками на клавиатуре.

Кроме того, как и многие консольные редакторы, vim рекомендует пользователям держаться подальше от мыши. Однако вы можете настроить vim для включения поддержки мыши.

Вы также можете перемещаться по тексту пословно. Например, нажатие w в обычном режиме перемещает курсор в начало следующего слова. Вы можете перейти к началу текущего слова с помощью b и закончить с помощью e .

Используйте 0 для перехода к началу строки и $ для перехода к концу. Нажатие H перемещает курсор в верхнюю часть экрана, M – в середину, а L – в нижнюю часть. Вы можете прокручивать вверх и вниз, используя Ctrl + u и Ctrl + d . Если вы нажмете gg в обычном режиме, vim переместит курсор наверх. Введите G, чтобы перейти в конец.

Вы можете изучить команды редактирования vim, как только почувствуете себя комфортно в обычном режиме. Используйте x для удаления символа, s для замены. Вы удаляете тексты с помощью оператора d . В качестве аргумента он принимает движение. Синтаксис для этого показан ниже.

 d{motion}

Движение может быть любым. Например, нажатие dw в обычном режиме удаляет текущее слово. Если вы наберете d $ , vim удалит все до конца строки. Аналогичным образом, ввод d0 удаляет до начала строки. Используйте dd для удаления всей строки.

Однако вам не нужно что-то удалять и переходить в режим замены для внесения изменений. Оператор c позволяет нам вносить изменения в движение vim прямо из нормального режима.

 c{motion}

Итак, когда вы нажимаете cw , vim удаляет текущее слово и переводит вас в режим вставки. Курсор должен находиться в начале слова, поскольку vim удалит его из текущей позиции. Используйте ciw, чтобы обойти это. Это вносит изменения в текущее слово. Используйте cc для изменения всей строки.

Используйте y для копирования движений и p для их вставки. Итак, yw копирует текущее слово, а yy копирует всю строку. Вы можете повторить предыдущую команду, используя точку . , отмените изменения с помощью u и повторите их с помощью Ctrl + r .

Если вы хотите найти что-то в своем коде, используйте следующую команду vim в Linux.

 /{regex}

Здесь regex – это регулярное выражение. Нажмите n, чтобы перейти к следующему совпадению, и N, чтобы перейти к предыдущему совпадению.

Как использовать Vim в визуальном режиме

Использование vim в визуальном режиме позволяет нам выделять блоки текста с помощью клавиш перемещения. Вот как опытные пользователи перемещают блоки кода в vim. Введите v в обычном режиме, чтобы переключиться в визуальный режим.

Теперь вы можете выделять фрагменты текста или кода с помощью навигационных клавиш hjkl . Используйте Ctrl + v для переключения в режим визуального блока. Здесь вы можете выделить блоки текста. Вы можете выделить линии, перейдя в режим визуальных линий. Используйте V для выбора режима визуальной линии.

Это позволяет нам вносить изменения в блок текста сразу. Например, вы можете выбрать текстовый блок и нажать y, чтобы скопировать текст в буфер vim.

Как использовать командный режим Vim

Мы можем получить доступ к командному режиму, набрав : в нормальном режиме. Курсор переместится в нижнюю часть экрана, за которым следует двоеточие. Ниже приведены некоторые из наиболее полезных команд vim в Linux.

  • : w сохранить изменения в файл
  • : wq сохранить и выйти
  • : saveas ФАЙЛ сохранить текущий файл как ФАЙЛ
  • : q выйти из vim
  • : q! выйти и отменить изменения
  • : e ФАЙЛ открыть ФАЙЛ для редактирования
  • : help открыть справку

Добавьте закладку на эту шпаргалку по vim, чтобы получить быстрый доступ к полезным командам vim.

Освоение основ Vim

Vim – надежный редактор, устраняющий разрыв между мышлением и редактированием. Написание кода становится гораздо более увлекательным, когда вы разбираетесь в vim. Хотя вам потребуются годы практики, чтобы по-настоящему овладеть им, понимание основ vim должно помочь вам встать на верный путь.