Vim paieška ir pakeitimas

Vim Search Replace



„Vim“ yra pažangus ir populiarus teksto redaktorius, iš anksto įdiegtas daugelyje „Linux“ platinimų. Tai komandų eilutės teksto redaktorius, dažniausiai naudojamas ne GUI pagrįstose operacinėse sistemose. Jis yra labai konfigūruojamas ir turi daug funkcijų. Svarbus dalykas, susijęs su „Vim“, yra tai, kad jis yra labai optimizuotas kartojimui.

Šiame straipsnyje paaiškinsime vieną iš naudingiausių jo funkcijų - paiešką ir pakeitimą. Naudodami keletą konfigūracijų, galite ieškoti visko, ko norite, žaibišku greičiu ir smulkiau.







1 metodas Rasti ir pakeisti vieną įvykį vienu metu (naudojant brūkšnį ir tašką komandą)

Paprasčiausias būdas ieškoti ir pakeisti žodį „Vim“ yra naudojant brūkšnį ir tašką. Pasviras brūkšnys (/) gali būti naudojamas žodžiui ieškoti, o taškas (.) - žodžiui pakeisti.



Norėdami ieškoti ir pakeisti bet kurį žodį „Vim“ redaktoriuje, atlikite šiuos paprastus veiksmus:



  • Atidarykite failą „Vim“
  • Paspauskite pasvirąjį brūkšnį ( /) kartu su paieškos terminu, pvz., / Search_term, ir paspauskite „Enter“. Jis paryškins pasirinktą žodį.
  • Tada paspauskite klavišo paspaudimą cgn Norėdami pakeisti paryškintą žodį ir įvesti pakeitimo terminą
  • Grįžkite į įprastą režimą. Tada paspauskite n, jei norite pereiti prie kito paieškos termino.
  • Tada paspauskite tašką (.), Jei norite kitą įvykį pakeisti tuo pačiu pakeitimo terminu, kitaip dar kartą paspauskite klavišą n, kad pereitumėte prie kito įvykio.

Tai greičiausias ir geriausias būdas atlikti pagrindinę paiešką ir pakeičia funkcijas, nes tai apima tik kelis klavišų paspaudimus ir mažiau trukdo dabartiniam darbui. Tačiau ieškant žodžio, kuris pasitaiko per daug kartų, jis taps pasikartojančia ir daug laiko reikalaujančia užduotimi.





Naudojant „Vim“ yra dar vienas geresnis būdas išvengti šios pasikartojančios užduoties, naudojant pakaitinę komandą.

2 metodas Raskite ir pakeiskite naudodami komandą „Pakeisti“

Pakaitinė komanda gali būti naudojama norint atlikti pagrindinę ir išplėstinę paiešką ir funkcijas pakeisti viena komanda. Šios komandos sintaksė yra tokia:



$: s/<paieškos terminas> /<pakeisti_ terminą> /variantas

Atminkite, kad šią komandą turite įvesti įprastu režimu.

Kur

  • S: reiškia pakaitalą
  • search_term: žodis, kurį norite ieškoti ir pakeisti
  • pakeisti_ terminas: žodis, kuriuo norite jį pakeisti
  • Pasirinkimas: c (patvirtinimui), g (pakeisti visus įvykius vienoje eilutėje), i (ignoruojant raidę)

Ieškoti ir pakeisti

Norėdami atlikti pagrindinę paiešką ir pakeisti naudodami pakaitinę komandą, naudokite šią sintaksę:

:%s/<paieškos terminas> /<pakeisti_ terminą> /g

Ši komanda pakeis visus „search_term“ egzempliorius pakeitimo terminu.

Pavyzdžiui, tai yra mūsų pavyzdinis tekstas:

„Ubuntu“ yra viena iš dažniausiai naudojamų „Linux“ OS. „Ubuntu“ apima tūkstančius naudingų programų. Naudodami „Ubuntu“ komandinę eilutę galite atlikti beveik bet kokias užduotis.

Norėdami pakeisti kiekvieną „Ubuntu“ įvykį „Debian“ šiame tekste, bus naudojama ši komanda:

:%s/Ubuntu/Debian/g

Ieškoti ir pakeisti vienoje eilutėje

Norėdami ieškoti ir pakeisti žodžio atsiradimą tik vienoje eilutėje, o ne visame faile, naudokite šią sintaksę:

: s/<paieškos terminas> /pakeisti_ terminą/g

Pavyzdžiui, norint pakeisti „Ubuntu“ atsiradimą „Debian“ aukščiau pateiktame pavyzdiniame tekste, būtų naudojama ši komanda be % simbolio:

: s/Ubuntu/Debian/g

Ieškokite ir pakeiskite patvirtinimu

Jei norite, kad prieš pakeičiant paieškos terminą jūsų paprašytų patvirtinimo, paieškos komandos pabaigoje naudokite c:

: s/<paieškos terminas> /<pakeisti_ terminą> /gc

Aukščiau pateikta komanda paprašys patvirtinimo prieš kiekvieną pakeitimą (įveskite y, jei taip, o n - ne).

Skiriant didžiąsias ir mažąsias raides paieška ir pakeitimas

Kai atliekate paiešką ir pakeitimą „Vim“, pagal numatytuosius nustatymus jis skiria didžiąsias ir mažąsias raides. Galite atlikti didžiųjų ir mažųjų raidžių paiešką, komandos pabaigoje pridėdami i:

: s/<paieškos terminas> /<pakeisti_ terminą> /duoti

Pavyzdžiui, norint ieškoti termino Ubuntu, neatsižvelgiant į jo atvejį (UBUNTU, Ubuntu, ubuntu, uBuntu), būtų naudojama ši komanda:

: s/ubuntu/debianas/duoti

Ieškokite ir pakeiskite visą žodį

Pagal numatytuosius nustatymus pakaitinė komanda ieško bet kokios atitikties, nesvarbu, ar ji dalinė, ar pilna. Kad atitiktų tikslų paieškos_ terminą ir pakeistumėte jį pakeitimo terminu, įterpkite paiešką _ terminas į.

Pavyzdžiui, kai kuriuose dokumentuose norite ieškoti ir pakeisti būtent tą žodį, kurį jūs parašėte. Tokiu atveju bus naudojama ši komanda:

: s/<tu> //

Jis suras žodį tu ir pakeis jį manimi. Tačiau tai nepakeis tokių žodžių kaip tavo.

Ieškokite ir pakeiskite žodžius tarp tam tikrų eilučių

Norint ieškoti žodžio tarp konkrečių eilučių, o ne tik vienos eilutės ar viso failo, galima naudoti šią sintaksę:

:<start_line>,<end_line>s/<paieškos terminas> /<pakeisti_ terminą> /g

Pavyzdžiui, norint ieškoti ir pakeisti „Ubuntu“ atsiradimą „Debian“ nuo eilučių nuo 3 iki 8 tam tikrame faile, komanda būtų tokia:

:1, 10s/ubuntu/debianas/g

Norėdami ieškoti ir pakeisti žodžio atsiradimą iš dabartinės eilutės į kitą x eilučių skaičių, būtų naudojama ši sintaksė:

: s/paieškos terminas/pakeisti_ terminą/g x

Panašiai, norint ieškoti ir pakeisti žodžio atsiradimą iš dabartinės eilutės į paskutinę eilutę: būtų naudojama ši sintaksė:

:.,$ s/paieškos terminas/pakeisti_ terminą/g

IŠVADA

Šiame straipsnyje mes išmokome du komandinės eilutės būdus, kaip ieškoti ir pakeisti bet kurį žodį „Vim“ redaktoriuje. Pirmoji komanda, kuri naudojo pasvirąjį brūkšnį ir tašką, yra paprasčiausias ir lengviausias metodas, tačiau pasirodo, kad ji kartojasi, kai ieškote ir keičiate žodį, kuris pasitaiko per daug kartų. Kita komanda, kuri vieną kartą yra pakeitimo komanda, gali pasirodyti sunki ir sudėtinga, tačiau kai tik pradėsite ją praktikuoti, pamatysite, kad ji yra labai naudinga įvairiais atvejais.