Как найти и заменить текст в Vim в Linux

vim - один из самых популярных файловых редакторов в Linux. Частично популярность связана с режимом командной строки vim, который позволяет пользователям, особенно разработчикам программного обеспечения и опытным пользователям, оптимизировать время для операций модификации файлов.

В этой статье мы увидим, как найти и заменить текст в vim режим командной строки.

Сначала давайте откроем текстовый файл в vim:

vim test.txt

Vim работает в разных режимах. Два наиболее важных режима - это командный режим, упомянутый выше, а второй - режим вставки, используемый для изменения содержимого файла.

По умолчанию при открытии файла vim работает в командном режиме. Вы можете нажать я для перехода в режим вставки.

В командном режиме вы можете сразу начать вводить команды vim; они появляются в нижней части терминала. Эта нижняя часть действует как интегрированная командная строка в vim.

Для поиска строки, введите обратную косую черту / за которым следует строка для поиска.

Например: / собака

Как видно выше, он переводит курсор к следующему вхождению строки с позиции, где находится курсор. Курсор был помещен в строку коричневый как показано на предыдущем изображении. Чтобы найти следующие вхождения, нажмите п. После последнего вхождения он возвращается к первому, давая сообщение «Поиск попал ВНИЗ, продолжился ВЕРХ».

Для поиска строки со специальным символом, или, например, такие символы, как плюс (+) или пробел, предшествуют символу с косой чертой:

Например: / C \ +

Чтобы найти и заменить первое вхождение строки в строке, мы помещаем курсор в эту строку и используем следующую команду:

Например:: s / dog / tiger.

Как вы можете видеть на скриншоте выше, в третьей строке, где находится курсор, слово собака был заменен на тигр как указано в команде.

Чтобы найти и заменить все вхождения строки в строке, использовать в конце.

Например: s / cat / dog / g.

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

Например::% s / собака / мышь

Если строка состоит из специального символа, такого как пробел, ей может предшествовать косая черта, как показано ранее.

? Ваше здоровье!

Категория: Linux