Правишь сотни строк логов и конфигов руками? Использование vim как «блокнота» — преступление против твоего времени. Показываю встроенные механизмы: макросы, фильтры, внешние команды — чтобы редактор делал рутину за тебя.
Макросы (запись и воспроизведение рутины)
Vim умеет записать последовательность нажатий в именованный регистр и многократно её повторить.
# Начать запись макроса в регистр 'a'
qa
# ... выполняем любые действия редактирования ...
# Остановить запись
q
# Воспроизвести макрос из 'a' 50 раз подряд
50@a
# Повторить макрос до конца файла (не считая строки вручную):
:%normal @a
Глобальная замена с контекстом
Команда
:g находит строки по шаблону и выполняет в них замену или другую команду.# В строках с "FIXME" заменить "timeout" на "resolved"
:g/FIXME/s/timeout/resolved/g
Интеграция с внешними bash-утилитами
Текст из буфера можно прогнать через внешнюю команду, а вывод вставить на место старого.
# Отсортировать строки от текущей до конца файла через sort
:.,$!sort
# Заменить весь буфер выводом awk (печатаем вторую колонку)
:%!awk '{print $2}'
Чтение вывода консоли прямо в текст
# Вставить список файлов на строку НИЖЕ курсора
:r !ls -l
# Вставить текущую дату и время
:r !date
Собственные сокращения (аббревиатуры)
Разворачиваются в режиме вставки, когда вводишь их как отдельное слово.
# "imrc" + пробел/Enter развернётся в полную фразу.
# Лучше iabbrev — срабатывает ТОЛЬКО в режиме вставки (ab цепляет и командную строку):
:iabbrev imrc International Materials Research Center
Переназначение клавиш (шорткаты)
Для частых действий вешаем свою комбинацию. Используем
nnoremap (нерекурсивный маппинг только для Normal-режима) и свободную клавишу — не затирай встроенные.# Безопасно: пробел-лидер под "удалить слово под курсором и вставить из регистра".
# <leader> по умолчанию '\'. daw — delete-a-word, "0p — вставить из нулевого регистра.
:nnoremap <leader>d daw"0p
Добавь нужные аббревиатуры и маппинги в
~/.vimrc, чтобы они подхватывались при каждом запуске. Перестань делать рутину руками.❗️❗️❗️ Нравится формат? Ставь 👍
👉 Рубрика: #шпаргалка@LinuxSkill
#Linux #Vim #DevOps #SysAdmin #Automation