Vim или его предшественник Vi предустановлен в большинстве дистрибутивов Linux и macOS. Если вы системный администратор или обычный пользователь Linux, важно знать основы Vim.
Довольно часто при работе с текстовыми файлами вам нужно удалить одну или несколько строк.
В этой статье показано, как удалять строки в 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/<pattern>/d
Глобальная команда ( g
) указывает команде удаления ( d
) удалить все строки, содержащие <pattern>
.
Чтобы сопоставить строки, не соответствующие шаблону, добавьте восклицательный знак ( !
) Перед шаблоном:
:g!/<pattern>/d
Шаблон может быть буквальным соответствием или регулярным выражением . Вот несколько примеров:
:g/foo/d
— Удалить все строки, содержащие строку «foo». Также удаляется строка, в которой «foo» вставлено в слова большего размера, например «футбол».-
:g!/foo/d
— Удалить все строки, не содержащие строку «foo». -
:g/^#/d
— Удалить все комментарии из сценария Bash. Шаблон^#
означает, что каждая строка начинается с#
. -
:g/^$/d
— Удалить все пустые строки. Шаблон^$
соответствует всем пустым строкам. -
:g/^s*$/d
— Удалить все пустые строки. В отличие от предыдущей команды, здесь также удаляются пустые строки, содержащие ноль или более пробелов (s*
).
Выводы
Мы показали вам, как удалять строки в Vim.
Если вы новичок в Vim, посетите сайт Open Vim, где вы можете попрактиковаться в Vim с помощью интерактивного руководства.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.