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