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 с помощью интерактивного руководства.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.