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> /gSee 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/gOtsige 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/gNäiteks Ubuntu esinemise asendamiseks ülaltoodud näidistekstis Debianiga kasutataks järgmist käsku ilma sümbolita %:
: s/Ubuntu/Debian/gOtsige 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> /andmaNäiteks termini Ubuntu otsimiseks olenemata selle juhtumist (UBUNTU, Ubuntu, ubuntu, uBuntu) kasutatakse järgmist käsku:
: s/ubuntu/debian/andmaOtsige 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> /gNäiteks Ubuntu esinemise otsimiseks ja asendamiseks Debianiga ridadest vahemikus 3 kuni 8 mõnes failis oleks käsk järgmine:
:1, 10s/ubuntu/debian/gSõna esinemise otsimiseks ja asendamiseks praeguselt realt järgmisele x ridade arvule kasutatakse järgmist süntaksit:
: s/otsingutermin/asendada_term/g xSarnaselt sõna otsimiseks ja asendamiseks praeguselt realt viimasele reale kasutatakse järgmist süntaksit:
:.,$ s/otsingutermin/asendada_term/gKOKKUVÕ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.