Перемещение в Vim
Vim — это мощный текстовый редактор, известный своей эффективностью и гибкостью. Одной из ключевых особенностей Vim является его уникальная система перемещения по тексту. В отличие от многих других редакторов, где основное внимание уделяется использованию мыши и клавиш со стрелками, Vim предлагает множество команд для быстрого и точного перемещения курсора. В этой статье мы рассмотрим основные и продвинутые команды перемещения в Vim.
Основные команды перемещения
Стрелки
Хотя использование стрелок в Vim не рекомендуется для опытных пользователей, они всё же доступны:
-
h— влево -
j— вниз -
k— вверх -
l— вправо
Перемещение по словам
-
w— переместиться к началу следующего слова. -
e— переместиться к концу текущего слова. -
b— переместиться к началу предыдущего слова.
Перемещение по строкам
-
0— переместиться в начало текущей строки. -
^— переместиться к первому непробельному символу строки. -
$— переместиться в конец текущей строки.
Перемещение по тексту
-
gg— переместиться в начало файла. -
G— переместиться в конец файла. -
{— переместиться к началу текущего параграфа. -
}— переместиться к началу следующего параграфа.
Продвинутые команды перемещения
Комбинированные команды
-
5j— переместиться вниз на 5 строк. -
3w— переместиться вперед на 3 слова. -
2b— переместиться назад на 2 слова.
Поиск
-
/pattern— поиск текста по шаблонуpatternвперед по файлу. -
?pattern— поиск текста по шаблонуpatternназад по файлу. -
n— перейти к следующему вхождению найденного шаблона. То есть если выделить текст -
N— перейти к предыдущему вхождению найденного шаблона.
Метки и переходы
-
ma— установить меткуaна текущей позиции курсора. -
'a— перейти к меткеa. -
''— вернуться к предыдущей позиции курсора.
Перемещение по словам и символам
-
f<char>— переместиться к следующему вхождению символа<char>в строке. -
t<char>— переместиться к символу перед следующим вхождением<char>в строке. -
F<char>— переместиться к предыдущему вхождению символа<char>в строке. -
T<char>— переместиться к символу после предыдущего вхождения<char>в строке.
Перемещение по скобкам
-
%— переместиться к соответствующей открывающей или закрывающей скобке ((), {}, []).
Дополнительно
В Lazyvim используется плагин flash.nvim. Который позволяет быстро передвигаться по коду используя s<char>

Flash работает только с видимой частью буффера.
для прокрутки можно использовать
-
<ctrl><d>- вниз -
<ctrl><u>- вверх -
<ctrl>f- вперед (для данных комманд можно указать значение на сколько вперед<ctrl>5f- на 5 страниц вперёд) -
<ctrl>b- назад
Если нажать клавишу z в режиме Normal:

Клавиши относительного курсора, которые я использую исключительно для прокрутки, - это zt, zb и zz. Они перемещают строку, на которой находится курсор, в верхнюю, нижнюю или среднюю часть экрана соответственно. При перемещении в верхнюю или нижнюю часть экрана над или под курсором остается несколько строк контекста.
Существуют и другие команды, которые также перемещают курсор в первый столбец окна, но вместо того, чтобы запоминать эти сочетания клавиш, я рекомендую сочетать предыдущие команды с 0, как в zt0, zb0 и zz0. Команда 0 просто означает «Перейти к началу строки». Вы также можете использовать home, если на вашей клавиатуре есть клавиша home, но 0 легче нажимать на многих клавиатурах.
Заключение
В Vim перемещение курсора является одной из основных задач, и владение этими командами значительно ускоряет работу с текстом. Начав с основных команд, постепенно изучая и применяя продвинутые, вы сможете работать гораздо быстрее и эффективнее. Практикуйте эти команды регулярно, и скоро они станут для вас интуитивно понятными.
Полезные ресурсы
- Vim Tutor — интерактивное руководство по Vim.
- Vimcasts — видеоуроки по использованию Vim.
- Vim документация — официальная документация Vim.
Следуя этим рекомендациям, вы сможете освоить искусство перемещения в Vim и значительно повысить свою продуктивность в работе с текстом.