Найти в Дзене
Герман Геншин

11 секретных хитростей Vim, которые взорвут вашу продуктивность!

Мечтаете вывести работу в Vim на совершенно другой уровень? За годы использования этого редактора я собрал десятки приёмов, которые экономят мне нервы, время и кучу кликов. В этой статье — отборные лайфхаки, которые легко внедрить в свой процесс и сразу ощутить разницу. Vim создан для быстрой навигации — никакой мыши и минимум стрелок на клавиатуре. Если освоите базовые перемещения, забудете о мучениях с длинными файлами: курсор послушно прыгает по символам, словам, абзацам или сразу на нужную строчку. Вместо стрелок используйте H (влево), J (вниз), K (вверх) и L (вправо). Перед буквой можно поставить число — например, 5j мгновенно опустит курсор на пять строк вниз. Для больших прыжков используйте эти команды: Хотите попасть сразу на нужную строку? Просто напишите её номер и нажмите G. Например, 500G — и вы уже на 500-й строке. Одни любят пробелы, другие — табы, особенно в командной разработке это частая головная боль. В Vim можно мгновенно перевести пробелы в табуляции или наоборот —
Оглавление

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

Молниеносное перемещение курсора

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

Вместо стрелок используйте H (влево), J (вниз), K (вверх) и L (вправо). Перед буквой можно поставить число — например, 5j мгновенно опустит курсор на пять строк вниз. Для больших прыжков используйте эти команды:

Хотите попасть сразу на нужную строку? Просто напишите её номер и нажмите G. Например, 500G — и вы уже на 500-й строке.

Быстрая смена табов на пробелы и обратно

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

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

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

Хотите наоборот, табы заменить на пробелы? Тогда используйте:

Эти команды определяют, сколько пробелов вставлять вместо каждого таба.

Выравнивание сразу всех строк в файле

Чистый код начинается с аккуратных отступов, особенно если вы пишете на языке вроде Python. В Vim можно одним движением выровнять все строки: сначала gg — переход в начало файла, затем =G — выравнивание всего содержимого. Итого:

-2

Мгновенная подсветка опечаток прямо в тексте

Когда работаешь на скорости, легко ошибиться в словах. Как и в Word или Google Docs, в Vim есть встроенная проверка орфографии. Включите её — и редактор тут же покажет возможные ошибки прямо во время набора. Для этого используйте команду:

-3

Мгновенное изменение направления выделения

В режиме Visual можно выделять текст посимвольно, построчно или целыми блоками. Случайно зацепили не то? Не беда, просто нажмите o — и направление выделения сменится на противоположное. Экономит уйму времени, когда нужно переставить границу выделения, не начиная всё заново.

-4

Мгновенный переход к парной скобке

В больших файлах искать соответствующую скобку — та ещё задача. В Vim всё просто: поставьте курсор на любую скобку (круглую, фигурную или квадратную) и нажмите % — и вы тут же окажетесь на парной.

-5

Работает с любыми скобками — круглые, фигурные, квадратные.

Включаем номера строк — для идеальной навигации

По умолчанию Vim не показывает номера строк, но включить их — дело секунды! Абсолютная нумерация — каждая строка с уникальным номером. Просто выполните команду:

-6

Есть и относительная нумерация: строка под курсором — нулевая, остальные считаются относительно неё. Включить — ещё проще:

-7

Не можете выбрать? Включите оба режима — на вашей строке будет абсолютный номер, а на остальных — относительный. Просто выполните:

-8

Массовое редактирование с помощью команды :norm

:norm позволяет запускать обычные команды Vim сразу для целого блока строк. Это идеальный способ автоматизировать рутину и сэкономить массу времени на повторяющихся операциях. Например, нужно добавить в конце каждой строки точку с запятой? Легко:

После Enter нужный символ появится сразу во всех выделенных строках.

Так же можно массово менять регистр, делать вставки или отформатировать целый фрагмент кода.

Удаляйте текст в режиме вставки — просто и быстро!

У Vim есть собственные «горячие клавиши» для удаления текста: можно стирать не только символы, но и целые слова или строки — и вправо, и влево от курсора. Вот несколько моих любимых сочетаний для турборедактирования:

Динамические сниппеты: шаблоны, ускоряющие работу в разы

Сниппеты — это заготовки текста, которые можно вставлять одним нажатием там, где снова и снова пишете одно и то же. Необыкновенно ускоряет работу, особенно если есть часто повторяющиеся блоки кода. Динамические сниппеты идут дальше — они могут автоматически подставлять, например, текущую дату или время.

Подпишитесь на рассылку и получайте новые хитрости Vim каждую неделю!

С помощью UltiSnips или vim-snippets легко сделать гибкие шаблоны под любые задачи. Например, чтобы 'jd' автоматически превращался в John Doe, просто добавьте такой блок в свой UltiSnips (обычно ~/.vim/UltiSnips/snippet_file_name.snippets):

Хотите, чтобы прямо в код подставлялось текущее время или дата? Используйте такой сниппет:

Теперь, написав 'time' и нажав Tab, Vim сам вставит актуальное время.

Молниеносное автодополнение слов

-9

В Vim встроено потрясающее автодополнение — если вы часто используете длинные переменные или однотипные слова, просто начните их набирать и нажмите Ctrl N. Vim предложит варианты продолжения! Нужно пройтись назад по списку — используйте Ctrl P.

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

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

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: