Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Глобальний пошук і заміна

vi використовує команду ex для виконання операцій пошуку та заміни (так звані «підстановка» у vi) над діапазоном рядків або цілим файлом. Щоб змінити слово «рядок» на «рядок» для всього файлу, ми б ввели таку команду:



:%s/рядок/рядок/g

:%s/рядок/рядок/g


Давайте розберемо цю команду на окремі елементи та подивимося, що робить кожна з них:


Таблиця 12-5: Приклад глобального синтаксису пошуку та заміни


Пункт Значення

Пункт Значення

: символ двокрапки запускає команду ex.


зображення

% Визначає діапазон рядків для операції. % це скорочення, яке означає від першого до останнього рядка. З іншого боку, можна було вказати діапазон 1,5 (оскільки наш файл має п'ять рядків), або 1 $ що означає «від рядка 1 до останнього рядка у файлі». Якщо діапазон рядків опущено, операція виконується лише для поточного рядка.


зображення

Пошук і заміна


зображення

s Визначає операцію. У цьому випадку заміна (пошук і заміна).


зображення

/Рядок/рядок/ Шаблон пошуку та текст заміни.


зображення

g Це означає «глобальний» у тому сенсі, що пошук і заміна виконується для кожного екземпляра рядка пошуку в рядку. Якщо пропущено, замінюється лише перший екземпляр рядка пошуку в кожному рядку.


зображення


Після виконання нашої команди пошуку та заміни наш файл виглядає так:



Швидкий бурий лис перестрибнув через ледачого пса. Це було круто. рядок 2

лінія 3

лінія 4

лінія 5

Швидкий бурий лис перестрибнув через ледачого пса. Це було круто. рядок 2

лінія 3

лінія 4

лінія 5


Ми також можемо вказати команду заміни з підтвердженням користувача. Це робиться шляхом додавання «c» в кінці команди. Наприклад:



:%s/рядок/рядок/gc

:%s/рядок/рядок/gc


Ця команда поверне наш файл до попереднього вигляду; однак перед кожною заміною, vi зупиняється та просить нас підтвердити заміну за допомогою цього повідомлення:


замінити на рядок (y/n/a/q/l/^E/^Y)?

замінити на рядок (y/n/a/q/l/^E/^Y)?


Кожен із символів у дужках є можливим наступним чином:


Таблиця 12-6: Замініть ключі підтвердження


Ключова дія

Ключова дія

y Виконайте заміну.


зображення

n Пропустити цей екземпляр шаблону.


зображення

a Виконайте заміну цього та всіх наступних екземплярів шаблону.


зображення


зображення

q або Esc Завершіть заміну.


зображення

l Виконайте цю заміну, а потім вийдіть. Скорочено від «останнього».


зображення

Ctrl-e, Ctrl-y Прокрутка вниз і прокрутка вгору відповідно. Корисно для перегляду контексту запропонованої заміни.


зображення


Якщо набираєте y, буде виконана заміна, n викличе vi щоб пропустити цей екземпляр і перейти до наступного.


Найпопулярніші хмарні обчислення ОС на OnWorks: