Мечтаете вывести работу в Vim на совершенно другой уровень? За годы использования этого редактора я собрал десятки приёмов, которые экономят мне нервы, время и кучу кликов. В этой статье — отборные лайфхаки, которые легко внедрить в свой процесс и сразу ощутить разницу.
Молниеносное перемещение курсора
Vim создан для быстрой навигации — никакой мыши и минимум стрелок на клавиатуре. Если освоите базовые перемещения, забудете о мучениях с длинными файлами: курсор послушно прыгает по символам, словам, абзацам или сразу на нужную строчку.
Вместо стрелок используйте H (влево), J (вниз), K (вверх) и L (вправо). Перед буквой можно поставить число — например, 5j мгновенно опустит курсор на пять строк вниз. Для больших прыжков используйте эти команды:
Хотите попасть сразу на нужную строку? Просто напишите её номер и нажмите G. Например, 500G — и вы уже на 500-й строке.
Быстрая смена табов на пробелы и обратно
Одни любят пробелы, другие — табы, особенно в командной разработке это частая головная боль. В Vim можно мгновенно перевести пробелы в табуляции или наоборот — настройте всё под стиль вашего проекта.
Чтобы заменить все пробелы на табы, выполните две команды:
Первая говорит редактору использовать табуляции, а вторая — тут же меняет все пробелы на табы по нужному размеру.
Хотите наоборот, табы заменить на пробелы? Тогда используйте:
Эти команды определяют, сколько пробелов вставлять вместо каждого таба.
Выравнивание сразу всех строк в файле
Чистый код начинается с аккуратных отступов, особенно если вы пишете на языке вроде Python. В Vim можно одним движением выровнять все строки: сначала gg — переход в начало файла, затем =G — выравнивание всего содержимого. Итого:
Мгновенная подсветка опечаток прямо в тексте
Когда работаешь на скорости, легко ошибиться в словах. Как и в Word или Google Docs, в Vim есть встроенная проверка орфографии. Включите её — и редактор тут же покажет возможные ошибки прямо во время набора. Для этого используйте команду:
Мгновенное изменение направления выделения
В режиме Visual можно выделять текст посимвольно, построчно или целыми блоками. Случайно зацепили не то? Не беда, просто нажмите o — и направление выделения сменится на противоположное. Экономит уйму времени, когда нужно переставить границу выделения, не начиная всё заново.
Мгновенный переход к парной скобке
В больших файлах искать соответствующую скобку — та ещё задача. В Vim всё просто: поставьте курсор на любую скобку (круглую, фигурную или квадратную) и нажмите % — и вы тут же окажетесь на парной.
Работает с любыми скобками — круглые, фигурные, квадратные.
Включаем номера строк — для идеальной навигации
По умолчанию Vim не показывает номера строк, но включить их — дело секунды! Абсолютная нумерация — каждая строка с уникальным номером. Просто выполните команду:
Есть и относительная нумерация: строка под курсором — нулевая, остальные считаются относительно неё. Включить — ещё проще:
Не можете выбрать? Включите оба режима — на вашей строке будет абсолютный номер, а на остальных — относительный. Просто выполните:
Массовое редактирование с помощью команды :norm
:norm позволяет запускать обычные команды Vim сразу для целого блока строк. Это идеальный способ автоматизировать рутину и сэкономить массу времени на повторяющихся операциях. Например, нужно добавить в конце каждой строки точку с запятой? Легко:
После Enter нужный символ появится сразу во всех выделенных строках.
Так же можно массово менять регистр, делать вставки или отформатировать целый фрагмент кода.
Удаляйте текст в режиме вставки — просто и быстро!
У Vim есть собственные «горячие клавиши» для удаления текста: можно стирать не только символы, но и целые слова или строки — и вправо, и влево от курсора. Вот несколько моих любимых сочетаний для турборедактирования:
Динамические сниппеты: шаблоны, ускоряющие работу в разы
Сниппеты — это заготовки текста, которые можно вставлять одним нажатием там, где снова и снова пишете одно и то же. Необыкновенно ускоряет работу, особенно если есть часто повторяющиеся блоки кода. Динамические сниппеты идут дальше — они могут автоматически подставлять, например, текущую дату или время.
Подпишитесь на рассылку и получайте новые хитрости Vim каждую неделю!
С помощью UltiSnips или vim-snippets легко сделать гибкие шаблоны под любые задачи. Например, чтобы 'jd' автоматически превращался в John Doe, просто добавьте такой блок в свой UltiSnips (обычно ~/.vim/UltiSnips/snippet_file_name.snippets):
Хотите, чтобы прямо в код подставлялось текущее время или дата? Используйте такой сниппет:
Теперь, написав 'time' и нажав Tab, Vim сам вставит актуальное время.
Молниеносное автодополнение слов
В Vim встроено потрясающее автодополнение — если вы часто используете длинные переменные или однотипные слова, просто начните их набирать и нажмите Ctrl N. Vim предложит варианты продолжения! Нужно пройтись назад по списку — используйте Ctrl P.
Возьмите эти приёмы на вооружение — и вы откроете для себя Vim с другой стороны! А если хотите узнать ещё больше, загляните в мои гайды: как выйти из Vim и максимально настроить редактор под себя.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru