
Vim или его предшественник Vi предустановлены в большинстве дистрибутивов Linux и macOS. Знание основ Vim важно, если вы системный администратор или просто обычный пользователь Linux.
Довольно часто при работе с текстовыми файлами возникает необходимость удалить одну или несколько строк.
В этой статье показано, как удалять строки в Vim/Vi.
Удаление строки
Команда удаления строки в Vim — dd .
Ниже приведены пошаговые инструкции по удалению строки:
- Нажмите клавишу
Esc, чтобы перейти в обычный режим. - Установите курсор на строку, которую вы хотите удалить.
- Введите
ddи нажмите Enter, чтобы удалить строку.
Нажатие клавиши dd несколько раз приведет к удалению нескольких строк.
Удаление нескольких строк
Чтобы удалить сразу несколько строк, добавьте к команде dd количество строк, которые нужно удалить. Например, чтобы удалить пять строк, выполните следующие действия:
- Нажмите клавишу
Esc, чтобы перейти в обычный режим. - Установите курсор на первую строку, которую вы хотите удалить.
- Введите
5ddи нажмите Enter, чтобы удалить следующие пять строк.
Удалить диапазон строк
Синтаксис удаления диапазона строк следующий:
: [ start ] , [ end ] d
Например, чтобы удалить строки с 3 по 5, выполните следующие действия:
- Нажмите клавишу
Esc, чтобы перейти в обычный режим. - Введите
:3,5dи нажмите Enter, чтобы удалить строки.
Для указания диапазона вы также можете использовать следующие символы:
-
.(точка) — Текущая строка. -
$— Последняя строка. -
%— Все строки.
Вот несколько примеров:
-
:.,$d— От текущей строки до конца файла. -
:.,1d— От текущей строки до начала файла. -
10,$d— С 10-й строки до конца файла.
Удалить все строки
Чтобы удалить все строки, можно использовать либо символ % , представляющий все строки, либо диапазон 1,$ :
- Нажмите клавишу
Esc, чтобы перейти в обычный режим. - Введите
%dи нажмите Enter, чтобы удалить все строки.
Удаление строк, содержащих шаблон
Синтаксис удаления нескольких строк по определенному шаблону следующий:
: g // d
Глобальная команда ( g ) сообщает команде удаления ( d ) удалить все строки, содержащие .
Чтобы сопоставить строки, не соответствующие шаблону, добавьте восклицательный знак ( ! ) перед шаблоном:
: g ! // d
Шаблон может быть буквальным совпадением или регулярным выражением . Ниже приведены несколько примеров:
-
:g/foo/d— Удаляет все строки, содержащие слово «foo». Также удаляет строки, где «foo» встречается в более длинных словах, например, «football». -
:g!/foo/d— Удалить все строки, не содержащие строку «foo». -
:g/^#/d— удалить все комментарии из скрипта Bash. Шаблон^#означает каждую строку, начинающуюся с#. -
:g/^$/d— Удалить все пустые строки. Шаблон^$соответствует всем пустым строкам. -
:g/^s*$/d— удалить все пустые строки. В отличие от предыдущей команды, эта команда также удаляет пустые строки, содержащие ноль или более пробелов (s*).
Заключение
Мы показали вам, как удалять строки в Vim.
Если вы новичок в Vim, посетите сайт Open Vim , где вы можете попрактиковаться в работе с Vim с помощью интерактивного руководства.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства