Работая с текстами в Vim, часто возникает задача очистки — удалить пустые строки, которые появляются после форматирования или как артефакты экспорта.
Делать это вручную долго и неэффективно. К счастью, Vim предлагает мощные инструменты для автоматической обработки.
Основной метод использует команду глобального поиска с удалением. Её структура: :[диапазон]g/шаблон/команда. Для удаления всех пустых строк (включая содержащие пробелы или табуляцию) во всём файле используется:
:%g/^\s*$/d
Разберём эту команду:
% — диапазон «весь файл».
g — команда global, выполняет действие для каждой строки, соответствующей шаблону.
/^\s$/ — шаблон поиска. ^ обозначает начало строки, \s — ноль или более пробельных символов (пробел, таб), $ — конец строки. Итог: строка, которая пуста или состоит только из пробелов.
d — команда delete на удаление найденной строки.
Есть полезные вариации этой команды. Если нужно удалить только абсолютно пустые строки, без учёта пробелов:
:%g/^$/d
Для работы не во всём файле, а в выделенной области, перейдите в визуальный режим (V), выделите строки и введите:
:'<,'>g/^\s*$/d
Часто требуется обратное действие — удалить всё, кроме пустых строк. Для этого используйте команду v (обратный глобальный поиск):
:%v/^\s*$/d
Все изменения, как и обычно в Vim, можно отменить клавишей u. Эти команды — яркий пример силы подхода Vim: одна короткая строка заменяет сотни ручных кликов, делая редактирование быстрым и предсказуемым.


Следи за своими финансами легко прямо в Telegram — начни вести учёт доходов и расходов уже сейчас!