Vim -haku ja vaihto

Vim Search Replace

Vim on edistyksellinen ja suosittu tekstieditori, joka on esiasennettu useimpiin Linux -jakeluihin. Se on komentorivipohjainen tekstieditori, jota käytetään enimmäkseen ei-GUI-pohjaisissa käyttöjärjestelmissä. Se on erittäin konfiguroitavissa ja sisältää monia ominaisuuksia. Merkittävä seikka Vimin suhteen on, että se on erittäin optimoitu toistoa varten.

Tässä artikkelissa selitämme sen hyödyllisimpiä ominaisuuksia, jotka ovat haku ja korvaaminen. Muutaman kokoonpanon avulla voit etsiä mitä tahansa nopealla nopeudella ja tarkemmin.



Menetelmä #1 Etsi ja korvaa yksi tapahtuma kerrallaan (käyttämällä vinoviivaa ja piste -komentoa)

Yksinkertaisin tapa etsiä ja korvata sana Vimissä on käyttää vinoviivaa ja piste -komentoa. Kauttaviivalla (/) voidaan etsiä sanaa, kun taas pisteellä (.) Voidaan korvata sana.



Noudata alla olevia yksinkertaisia ​​ohjeita etsiäksesi ja korvataksesi minkä tahansa sanan Vim editorissa:



  • Avaa tiedosto Vimissä
  • Paina vinoviivaa ( /) yhdessä hakusanan kuten / search_term kanssa ja paina Enter. Se korostaa valitun sanan.
  • Paina sitten näppäinpainallusta cgn korvataksesi korostetun sanan ja kirjoita korvaava termi
  • Palaa normaalitilaan. Seuraavaksi paina n siirtyäksesi hakutermin seuraavaan esiintymään.
  • Paina sitten pistettä (.), Jos haluat korvata seuraavan esiintymän samalla korvaustermillä, muutoin paina uudelleen n -näppäintä siirtyäksesi seuraavaan esiintymään.

Se on nopein ja paras tapa perushakuun ja korvaa toiminnot, koska se sisältää vain muutaman näppäimen painalluksen ja vähemmän häiriöitä nykyiseen työskentelyyn. Liian monta kertaa esiintyvän sanan etsimisestä tulee kuitenkin toistuva ja aikaa vievä tehtävä.

Vimin avulla on toinen parempi tapa välttää tämä toistuva tehtävä, joka käyttää korvaavaa komentoa.

Menetelmä #2 Etsi ja korvaa käyttämällä Korvaa -komentoa

Korvauskomennolla voidaan suorittaa perushaku ja laajennettu haku sekä korvata toiminnot yhdellä komennolla. Tämän komennon syntaksi on:



$: s/<hakusana> /<korvata_kausi> /vaihtoehto

Huomaa, että sinun on annettava tämä komento normaalitilassa.

Missä

  • S: tarkoittaa korvaavaa
  • search_term: sana, jota haluat etsiä ja korvata
  • korvata_term: sana, jolla haluat korvata sen
  • Vaihtoehto: c (vahvistusta varten), g (korvaa kaikki esiintymät yhdellä rivillä), i (kirjaimen huomiotta jättäminen)

Etsi ja korvaa

Voit suorittaa perushaun ja korvata sen käyttämällä korvaavaa komentoa seuraavalla syntaksilla:

:%s/<hakusana> /<korvata_kausi> /g

Tämä komento korvaa kaikki hakutermin esiintymät korvaavalla termillä.

Esimerkiksi tämä on esimerkkitekstimme:

Ubuntu on yksi eniten käytetyistä Linux -käyttöjärjestelmistä. Ubuntu sisältää tuhansia hyödyllisiä ohjelmia. Ubuntun komentorivillä voit suorittaa melkein minkä tahansa tehtävän.

Seuraavan komennon avulla voidaan korvata jokainen Ubuntun esiintyminen Debianilla seuraavassa tekstissä:

:%s/Ubuntu/Debian/g

Etsi ja korvaa yhdellä rivillä

Jos haluat etsiä ja korvata sanan esiintymisen vain yhdellä rivillä koko tiedoston sijaan, käytä seuraavaa syntaksia:

: s/<hakusana> /korvata_kausi/g

Esimerkiksi Ubuntun esiintymisen korvaamiseksi Debianilla yllä olevassa esimerkkitekstissä käytetään seuraavaa komentoa ilman % -merkkiä:

: s/Ubuntu/Debian/g

Etsi ja korvaa vahvistuksella

Jos haluat saada vahvistuksen ennen hakutermin korvaamista, käytä hakukomennon lopussa olevaa c -näppäintä seuraavasti:

: s/<hakusana> /<korvata_kausi> /gc

Yllä oleva komento pyytää vahvistusta ennen jokaista vaihtoa (kirjoita y, jos kyllä ​​ja n ei).

Kirjainkoolla ei ole väliä Etsi ja korvaa

Kun suoritat haun ja korvaamisen Vimissä, se erottaa oletuksena isot ja pienet kirjaimet. Voit tehdä kirjainkoolla merkityksettömän haun lisäämällä i komennon loppuun seuraavasti:

: s/<hakusana> /<korvata_kausi> /antaa

Esimerkiksi haettaessa termiä Ubuntu sen tapauksesta riippumatta (UBUNTU, Ubuntu, ubuntu, uBuntu) käytetään seuraavaa komentoa:

: s/ubuntu/debian/antaa

Etsi ja korvaa koko sana

Oletusarvoisesti korvaava komento etsii mitä tahansa osumaa, olipa se sitten osittainen tai täysi. Jos haluat hakutermin täsmälleen täsmälleen ja korvata sen korvaavalla termillä, liitä haku _term kohtaan.

Esimerkiksi joissakin asiakirjoissa haluat etsiä ja korvata täsmälleen käyttämäsi sanan. Siinä tapauksessa käytetään seuraavaa komentoa:

: s/<sinä> /Minä/

Se löytää sanan sinä ja korvaa sen kanssani. Se ei kuitenkaan korvaa sinun kaltaisiasi sanoja.

Etsi ja korvaa tiettyjen rivien sanoja

Jos haluat etsiä sanaa tiettyjen rivien joukosta vain yhden rivin tai koko tiedoston sijasta, voidaan käyttää seuraavaa syntaksia:

:<start_line>,<end_line>s/<hakusana> /<korvata_kausi> /g

Esimerkiksi, jos haluat etsiä ja korvata Ubuntun esiintymisen Debianilla rivillä, jotka vaihtelevat 3: sta 8: een jossakin tiedostossa, komento olisi:

:1, 10s/ubuntu/debian/g

Jos haluat etsiä ja korvata sanan esiintymisen nykyiseltä riviltä seuraavalle x rivimäärälle, käytetään seuraavaa syntaksia:

: s/hakusana/korvata_kausi/g x

Samoin haettaessa ja korvaamalla sanan esiintyminen nykyiseltä riviltä viimeiselle riville käytetään seuraavaa syntaksia:

:.,$ s/hakusana/korvata_kausi/g

PÄÄTELMÄ

Tässä artikkelissa olemme oppineet kaksi komentorivin tapaa etsiä ja korvata mitä tahansa sanaa Vim-editorissa. Ensimmäinen komento, joka käytti vinoviivaa ja pistettä, on yksinkertaisin ja helpoin tapa, mutta se osoittautuu toistuvaksi, kun etsit ja korvaat liian monta kertaa esiintyvän sanan. Toinen komento, joka on kerran korvauskomento, saattaa vaikuttaa vaikealta ja monimutkaiselta, mutta kun aloitat sen harjoittamisen, huomaat sen olevan erittäin hyödyllinen useissa tilanteissa.