Как удалять строки в редакторе Vim/Vi

12 set 2022 2 min di lettura
Как удалять строки в редакторе Vim/Vi
Indice dei contenuti

Введение

Vim или его предшественник Vi предустановлены в большинстве дистрибутивов Linux и macOS. Знание основ Vim важно, если вы системный администратор или обычный пользователь Linux.

Чаще всего при работе с текстовыми файлами необходимо удалить одну или несколько строк.

В этой статье показано, как удалять строки в Vim/Vi.

Удалить строку

Команда для удаления строки в Vim — dd.

Вот пошаговые инструкции по удалению строки:

  1. Нажмите Esc, чтобы переключиться в обычный режим.
  2. Поместите курсор на строку, которую хотите удалить.
  3. Введите dd и нажмите Enter, чтобы удалить строку.

Нажатие dd несколько раз удалит несколько строк.

Удалить несколько строк

Чтобы одновременно удалить несколько строк, перед командой dd укажите количество строк, которые необходимо удалить. Например, чтобы удалить пять строк, вы должны сделать следующее:

  1. Нажмите Esc, чтобы переключиться в обычный режим.
  2. Поместите курсор на первую строку, которую хотите удалить.
  3. Введите 5dd и нажмите Enter, чтобы удалить следующие пять строк.

Удалить диапазон строк

Синтаксис удаления диапазона строк следующий:

:[start],[end]d

Например, чтобы удалить строки с 3 по 5, вам нужно сделать следующее:

  1. Нажмите Esc, чтобы переключиться в обычный режим.
  2. Введите :3,5d и нажмите Enter, чтобы удалить линии.

Вы также можете использовать следующие символы для указания диапазона:

  • . (точка) - Текущая строка.
  • $ - Последняя строка.
  • % - Все строки.

Вот некоторые примеры:

  • :.,$d - От текущей строки до конца файла.
  • :.,1d - От текущей строки до начала файла.
  • 10,$d - С 10-й строки до конца файла.

Удалить все строки

Чтобы удалить все строки, вы можете использовать символ %, который представляет все строки или диапазон 1,$:

  1. Нажмите Esc, чтобы переключиться в обычный режим.
  2. Введите %d и нажмите Enter, чтобы удалить все строки.

Удалить строки, содержащие шаблон

Синтаксис удаления нескольких строк на основе определенного шаблона следующий:

:g/<pattern>/d

Команда global ( 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, где вы можете попрактиковаться с интерактивным учебным пособием.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.