logo

Освоєння пошуку та заміни в редакторі Vi

Vi Editor, потужний текстовий редактор, відомий своєю ефективністю та універсальністю, є основним інструментом для користувачів Unix/Linux. Оволодіння функціями пошуку та заміни може значно підвищити продуктивність і спростити завдання редагування тексту. У цьому вичерпному посібнику ми розглянемо різноманітні техніки та стратегії ефективного пошуку та заміни тексту в редакторі Vi, даючи користувачам змогу повністю використовувати його потенціал.

Зміст



Розуміння редактора VI

Перш ніж заглиблюватися в операції пошуку та заміни, дуже важливо зрозуміти основи Ми редактор . Розроблений Біллом Джоєм у 1976 році редактор Vi пропонує два основні режими: режим вставки для вставлення тексту та командний режим для виконання команд. Знайомство з цими режимами має важливе значення для ефективної навігації та редагування у Vi.

У редакторі vi є два режими:

  • режим вставки
  • командний режим

Пошук у редакторі vi

Щоб знайти слово в редакторі vi, виконайте наведені нижче дії.



Крок 1: Прес вихід якщо ви перебуваєте в режимі вставки

крок 2: Прес /

крок 3: Введіть слово або шаблон, який потрібно шукати



крок 4: Прес Введіть один одному

крок 5: Натисніть « ні щоб знайти наступне входження слова/шаблону та ' ні щоб перейти до попереднього входження

Приклад: /is

Скріншот-від-2023-09-27-19-16-27

У попередній команді ви помітили, що вона шукає шаблон у слові також як якщо я шукаю ' є' тоді попередня команда також включає ' розподіл' тому що він містить ' є « у ньому, але якщо ви хочете шукати все слово, виконайте наведені нижче дії:

Крок 1: Прес вихід якщо ви перебуваєте в режимі вставки

крок 2: Прес /

Рядок порівняння java

крок 3: Тип < щоб позначити початок слова

крок 4: Введіть слово, яке хочете шукати

крок 5: Тип > щоб позначити кінець слова

Крок 6: Прес Введіть шукати слово

приклад: /

Скріншот-від-2023-09-27-19-29-02

Заміна в редакторі vi

Для пошуку та заміни слова в редакторі vi ми використовуємо :замінити або :s синтаксис команди виглядає наступним чином:

:[range]s/{pattern}/{string}/[flags] [count]>

Команда шукає шаблон у рядках [діапазон] і замінює [шаблон] на [рядок]. Якщо [діапазон] не вказано, тоді команда замінить слова в поточному рядку лише на [рядок].

приклад – :s/був/були

Скріншот-від-2023-09-27-19-52-13

Ви помітили, що попередня команда замінює лише одне входження [word], якщо ви хочете замінити всі входження слова add g прапорець у команді,

Приклад – :s/was/were/g

Щоб замінити всі випадки у файлі за допомогою редактора Vi

Щоб замінити всі випадки у файлі, ми будемо використовувати символ підстановки « %' , просто додайте символ «%» перед командою, щоб її використовувати,

Приклад – :%s/was/were/g

Скріншот-від-2023-27-20-00-12

факториал в java

Замініть слово в заданому діапазоні в редакторі Vi

У синтаксисі о :s Команда, описана раніше в цій статті, ми бачили, як додати діапазон у команду, щоб замінити слова лише в заданому діапазоні

:[range]s/[word]/[string]/[flag]>

приклад – :3,10s/was/were/g у цій команді редактор замінить слово «was» на «were» у рядках від 3 до 10, включно з крайніми.

Ви також можете додавати символи узагальнення в командах, згаданих нижче:

  • % (відсоток): відповідає всім рядкам у файлі
  • . (Крапка): Посилається на поточний рядок
  • $ (долар): Позначає кінець файлу

приклади:

  • :.,$s/was/were/g – Замінює всі входження слова «was» на «were» від поточного рядка до кінця файлу
  • :1,.s/was/were/g – Замінює всі повторення слова «was» на «were» від початку файлу до поточного рядка

приклад:

На скріншоті нижче команда :.,$s/was/were/g замінить усі входження слова «was» на «were» від поточного рядка до кінця файлу.

Скріншот-від-2023-09-27-20-06-45

Ігноруйте регістр у Vi Editor

Щоб ігнорувати чутливість до регістру шаблону/слова, використовуйте прапор «i», ви можете використати цей прапор із будь-якою командою, описаною вище.

Приклад – :1,.s/Was/were/gi

Скріншот-від-2023-09-27-20-17-09

Як шукати та замінювати в редакторі Vi – поширені запитання

Як шукати конкретне слово в Vi Editor?

Щоб шукати певне слово в редакторі Vi, ви можете скористатися командою пошуку. У Vi режим пошуку активується натисканням ` /`> , потім слово, яке потрібно знайти, а потім натисніть ` Enter`> . Vi висвітлить перше входження слова, і ви зможете переходити між кількома входженнями за допомогою ` n`> для наступного входження або ` N`> для попереднього.

/word_to_search>

Чи можу я замінити кілька екземплярів слова одночасно в Vi Editor?

Так, ви можете замінити кілька екземплярів слова одночасно в редакторі Vi за допомогою команди substitute. У командному режимі введіть ` :%s/old_word/new_word/g`> і натисніть ` Enter`> . Ця команда замінить усі входження ` old_word`> з ` new_word`> по всьому файлу.

:%s/old_word/new_word/g>

Які відмінності між режимами пошуку та заміни в редакторі Vi?

У редакторі Vi режим пошуку використовується для пошуку випадків певного шаблону в тексті, тоді як режим заміни використовується для заміни входжень шаблону іншим рядком. Режим пошуку активується натисканням ` /`> , а режим заміни активується за допомогою команди заміни ` :%s/old_pattern/new_string/g`> .

Для режиму пошуку:

/pattern_to_search>

Для режиму заміни:

сортувати arraylist
:%s/old_pattern/new_string/g>

Як я можу виконати пошук або заміну з урахуванням регістру в редакторі Vi?

Щоб виконати пошук з урахуванням регістру в Vi Editor, використовуйте ` /`> після команди ` c`> перед шаблоном пошуку.

Наприклад : для пошуку ` word`> з урахуванням регістру введіть ` //c`> і натисніть ` Enter`> . Для заміни з урахуванням регістру використовуйте команду заміни з ` g`> прапор: ` :%s/old_word/new_word/g`> .

Для пошуку з урахуванням регістру:

//c>

Для заміни з урахуванням регістру:

:%s/old_word/new_word/g>

Чи є спосіб скасувати операцію пошуку або заміни в редакторі Vi?

Так, ви можете скасувати операцію пошуку або заміни в редакторі Vi за допомогою ` u`> команда в командному режимі. Після виконання операції пошуку або заміни просто натисніть ` u`> , і Vi Editor скасує останню зміну, внесену до файлу, повернувши його до попереднього стану.

u>

Висновок

У цій статті ми обговорили, як знайти та змінити текст у популярному інструменті Vi Editor Linux . Ми почали з розуміння того, що таке Linux і Vi Editor. Потім ми дослідили, як шукати слова чи фрази в Vi Editor і замінювати їх новими. Ми також розглянули деякі корисні прийоми, як-от пошук цілих слів і внесення змін з урахуванням регістру. Крім того, ми розглянули типові запитання, наприклад, як скасувати зміни. Дотримуючись цих порад, ви зможете ефективніше редагувати текст у редакторі Vi.