Vim otsida ja asendada

Vim Search Replace



Vim on täiustatud ja populaarne tekstiredaktor, mis on enamikus Linuxi distributsioonides eelinstallitud. See on käsureal põhinev tekstiredaktor, mida kasutatakse enamasti mitte-GUI-põhistes operatsioonisüsteemides. See on väga konfigureeritav ja sisaldab palju funktsioone. Vimi oluline punkt on see, et see on kordamiseks väga optimeeritud.

Selles artiklis selgitame ühte selle kõige kasulikumatest funktsioonidest, mis on otsimine ja asendamine. Käputäie konfiguratsiooniga saate otsida kõike, mida soovite, kiirustades ja täpsemalt.







Meetod nr 1 Leidke ja asendage üks kord korraga (kasutades kaldkriipsu ja punkti käsku)

Lihtsaim viis sõna otsimiseks ja asendamiseks Vimis on kaldkriipsu ja punktiga käsu kasutamine. Kaldkriipsu (/) saab kasutada sõna otsimiseks, samas kui punkti (.) Saab kasutada selle sõna asendamiseks.



Vim -redaktoris mis tahes sõna otsimiseks ja asendamiseks järgige alltoodud lihtsaid samme.



  • Avage fail Vimis
  • Vajutage kaldkriipsu ( /) koos otsingusõnaga nagu / search_term ja vajutage sisestusklahvi. See tõstab esile valitud sõna.
  • Seejärel vajutage klahvivajutust cgn esiletõstetud sõna asendamiseks ja asendustermini sisestamiseks
  • Minge tagasi tavarežiimi. Seejärel vajutage otsingutermini järgmise esinemise juurde liikumiseks nuppu n.
  • Seejärel vajutage punkti (.), Kui soovite järgmise esinemise asendada sama asendusterminiga, vastasel korral vajutage järgmisele esinemisele liikumiseks uuesti klahvi n.

See on kiireim ja parim põhiotsingu meetod ning asendab funktsioone, kuna hõlmab vaid mõnda klahvivajutust ja vähem häireid teie praeguses töös. Liiga sageli esineva sõna otsimisel muutub see aga korduvaks ja aeganõudvaks ülesandeks.





Vimiga on veel üks parem viis selle korduva ülesande vältimiseks, kasutades asenduskäsklust.

Meetod nr 2 Leidke ja asendage, kasutades käsku Asendaja

Asenduskäsklust saab kasutada põhiotsingute ja täpsema otsingu tegemiseks ning funktsioonide asendamiseks ühe käsuga. Selle käsu süntaks on järgmine:



$: s/<otsingutermin> /<asendada_term> /valik

Pange tähele, et peate selle käsu sisestama tavarežiimis.

Kus

  • S: tähistab asendajat
  • search_term: sõna, mida soovite otsida ja asendada
  • asendada_term: sõna, millega soovite selle asendada
  • Valik: c (kinnitamiseks), g (asenda kõik esinemised ühel real), i (väiketähe ignoreerimine)

Otsige ja asendage

Põhiotsingu tegemiseks ja asendamise käsuga asendamiseks kasutage järgmist süntaksi:

:%s/<otsingutermin> /<asendada_term> /g

See käsk asendab kõik otsingutermini eksemplarid asendusterminiga.

Näiteks on see meie näidistekst:

Ubuntu on üks enimkasutatavaid Linuxi operatsioonisüsteeme. Ubuntu sisaldab tuhandeid kasulikke programme. Ubuntu käsurea abil saate täita peaaegu igasuguseid ülesandeid.

Iga Ubuntu esinemise asendamiseks järgmises tekstis Debianiga kasutatakse järgmist käsku:

:%s/Ubuntu/Debian/g

Otsige ja asendage ühes reas

Sõna esinemise otsimiseks ja asendamiseks ainult ühe rea asemel kogu faili asemel kasutage järgmist süntaksit:

: s/<otsingutermin> /asendada_term/g

Näiteks Ubuntu esinemise asendamiseks ülaltoodud näidistekstis Debianiga kasutataks järgmist käsku ilma sümbolita %:

: s/Ubuntu/Debian/g

Otsige ja asendage kinnitusega

Kui soovite enne otsingutermini asendamist küsida kinnitust, kasutage otsingukäsu lõpus c järgmiselt:

: s/<otsingutermin> /<asendada_term> /gc

Ülaltoodud käsk küsib enne iga asendamist kinnitust (sisestage y jaat ja n ei).

Väiketähti ei ole oluline otsida ja asendada

Kui teete otsingut ja asendamist Vimis, on see vaikimisi tõstutundlik. Saate teha tähe- ja väiketundetuid otsinguid, lisades käsu lõppu i järgmiselt.

: s/<otsingutermin> /<asendada_term> /andma

Näiteks termini Ubuntu otsimiseks olenemata selle juhtumist (UBUNTU, Ubuntu, ubuntu, uBuntu) kasutatakse järgmist käsku:

: s/ubuntu/debian/andma

Otsige ja asendage kogu sõna

Vaikimisi otsib asenduskäsk mis tahes vastet, olgu see siis osaline või täielik. Täpse otsingutermini sobitamiseks ja selle asendamiseks asendusterminiga lisage otsingusse _term.

Näiteks soovite mõnes dokumendis otsida ja asendada täpselt minu sõna. Sel juhul kasutatakse järgmist käsku:

: s/<sina > /Mina/

See leiab sõna sina ja asendab selle minuga. Siiski ei asenda see selliseid sõnu nagu teie.

Otsige ja asendage sõnu teatud ridade vahel

Selleks, et otsida sõna ühe rea või terve faili asemel konkreetsete ridade hulgast, võib kasutada järgmist süntaksit:

:<stardirida>,<end_line>s/<otsingutermin> /<asendada_term> /g

Näiteks Ubuntu esinemise otsimiseks ja asendamiseks Debianiga ridadest vahemikus 3 kuni 8 mõnes failis oleks käsk järgmine:

:1, 10s/ubuntu/debian/g

Sõna esinemise otsimiseks ja asendamiseks praeguselt realt järgmisele x ridade arvule kasutatakse järgmist süntaksit:

: s/otsingutermin/asendada_term/g x

Sarnaselt sõna otsimiseks ja asendamiseks praeguselt realt viimasele reale kasutatakse järgmist süntaksit:

:.,$ s/otsingutermin/asendada_term/g

KOKKUVÕTE

Selles artiklis oleme õppinud kahte käsurea viisi, kuidas otsida ja asendada mis tahes sõna Vim-redaktoris. Esimene käsk, mis kasutas kaldkriipsu ja punkti, on lihtsaim ja lihtsaim meetod, kuid see osutub korduvaks, kui otsite ja asendate sõna, mida esineb liiga palju. Teine käsk, mis on üks kord asenduskäsk, võib tunduda keeruline ja keeruline, kuid kui hakkate seda harjutama, leiate selle olevat väga kasulik mitme stsenaariumi korral.