vim
- один из самых популярных файловых редакторов в Linux. Частично популярность связана с режимом командной строки vim, который позволяет пользователям, особенно разработчикам программного обеспечения и опытным пользователям, оптимизировать время для операций модификации файлов.
В этой статье мы увидим, как найти и заменить текст в vim
режим командной строки.
Сначала давайте откроем текстовый файл в vim:
vim test.txt
Vim работает в разных режимах. Два наиболее важных режима - это командный режим, упомянутый выше, а второй - режим вставки, используемый для изменения содержимого файла.
По умолчанию при открытии файла vim работает в командном режиме. Вы можете нажать я
для перехода в режим вставки.
В командном режиме вы можете сразу начать вводить команды vim; они появляются в нижней части терминала. Эта нижняя часть действует как интегрированная командная строка в vim.
Для поиска строки, введите обратную косую черту /
за которым следует строка для поиска.
Например: / собака
Как видно выше, он переводит курсор к следующему вхождению строки с позиции, где находится курсор. Курсор был помещен в строку коричневый
как показано на предыдущем изображении. Чтобы найти следующие вхождения, нажмите п
. После последнего вхождения он возвращается к первому, давая сообщение «Поиск попал ВНИЗ, продолжился ВЕРХ».
Для поиска строки со специальным символом, или, например, такие символы, как плюс (+) или пробел, предшествуют символу с косой чертой:
Например: / C \ +
Чтобы найти и заменить первое вхождение строки в строке, мы помещаем курсор в эту строку и используем следующую команду:
Например:: s / dog / tiger.
Как вы можете видеть на скриншоте выше, в третьей строке, где находится курсор, слово собака
был заменен на тигр
как указано в команде.
Чтобы найти и заменить все вхождения строки в строке, использовать /г
в конце.
Например: s / cat / dog / g.
Чтобы найти и заменить все вхождения глобально, мы используем % s
вместо только s
:
Например::% s / собака / мышь
Если строка состоит из специального символа, такого как пробел, ей может предшествовать косая черта, как показано ранее.
? Ваше здоровье!