Vim finn og erstatt

Vim finn og erstatt
VI/VIM er en av de legendariske tekstredaktørene der ute som fremdeles finner sin plass på arsenalet til avanserte og profesjonelle brukere. Vim er spesielt populær blant programmerere. Hver eneste Linux -distro der ute inkluderer vim som standard. Hvis du kjører ikke-Linux-system, bør du fortsatt kunne glede deg over denne kvalitetstekstredigereren fra et hvilket som helst system. Få Vim.

Hvorfor dette eldgamle programvaren fremdeles er relevant? Fordi det er en lett, tastatursnarvei for nesten hvilken som helst funksjon, innebygde uttrykkssøk og et robust, stabilt og sunt plugin-økosystem. For ikke å snakke om andre moderne tekstredigeringsfunksjoner som vakker syntaksutheving. Du vil finne VIM for det meste populære blant programmerere fordi Vim krever tungt tastaturfokus. Det er en god praksis for programmerere.

Som tittelen på artikkelen antyder, er målet med denne guiden å tilby deg en bedre forståelse av søket og erstatte funksjonalitetene til VIM. Vim er ingenting å være redd for. Det er faktisk en av supermaktene du alltid vil ha ved din side.

Oppretting av demo

Til å begynne med trenger vi en demotekst. For å lære Vim er den tryggeste måten å lage en engangs tekstfil og gjøre hva du vil med den. På denne måten, selv om noe går galt, går ingenting viktig tapt.

Jeg bruker Manjaro Linux som Linux -systemet mitt. Lær hvordan du installerer Manjaro Linux. Det er en erkebasert distro som bruker Pacman som standard pakkebehandler. Jeg har generert en tekstfil som inneholder alle de installerte pakkene på systemet mitt.

Pacman -qqe >> packagelist.tekst
Cat Packagelist.tekst

Start tekstfilen i Vim!

Vim Packagelist.tekst

Vim -søk

For søket bruker Vim følgende struktur.

?

La oss for eksempel søke etter "Python".

?Python

Som standard vil søket sitte på ett fast resultat. For å gå til neste/forrige søkeresultat, bruk følgende nøkler.

Merk: Ikke glem å treffe Enter før du bruker følgende nøkler. Ellers vil søkeordet endres!

N - Finn neste kamp
N - Finn forrige kamp

Dette er bare den grunnleggende måten å søke på. La oss prøve ut litt kraftigere metode.

/\\>

Her er \ for slutt på strengen.

Akkurat som det forrige eksemplet, bruk N eller N (case-avhengig) for å navigere i søkeresultatene.

Søk støtter også ved hjelp av jokertegn. For eksempel er det mange pakker med "python-" utvidelse.

For å søke etter dem alle, kan vi bruke “Python*”. Her forteller stjerne at noe etter "python" prefikset. For ethvert søk kan stjerne være hvor som helst på søkeordet. Uansett hvor det er, ber den Vim å fylle ut gapet med alle mulige data fra hele tekstfilen.

/\

Når du søker, vil VIM alltid sette markøren på startkarakteren til kampene. Dette er standardhandlingen. Ikke bekymre deg; VIM tillater å endre standardposisjonen til markørlandingen.

/python/e

Her forteller den siste "e" å nå markøren på slutten av den matchende setningen. Ved å bruke følgende eksempel kan du også fortelle å lande markøren under eller over søkeresultatet.

//+2
//-3

Det er også mulig å oppveie markøren fra begynnelsen/slutten av søkekampene. For eksempel vil følgende kommando lande markøren med 3 tegn ved siden av begynnelsen.

//s+3
//b+3

Her indikerer "S" begynnelsen, "+3" indikerer 3 tegn fra begynnelsen. “B” står for “Begynn”. Det fungerer også som “S”. Fra skjermbildet vil Vim automatisk oversette “B” til “S”.

Hvis du er interessert i å utligne fra slutten av søkekampene, bruker du "E".

/

Her er en annen fantastisk måte å utføre et søk på en tekstfil.

:%S/// gn

En detaljert forklaring av kommandoen er på neste del av artikkelen.

Vim erstatt

Finn og erstatte er en annen vanlig og må-ha-funksjon for enhver kvalitets tekstredigerer. Vim, å være en legende, tilbyr en robust måte å finne og erstatte ønsket tekst på en enkel måte. Kommandoen for funksjonen er enkel, men tillater å gjøre virkelig komplekse verk.

: s///

La oss bryte ned hver del.

  • rekkevidde - definere området for å utføre "finn og erstatte" -funksjonen. Det er to forskjellige verdier.
    • % - Utfør på hele filen
    • , - Utføre handlingen på et bestemt sett med linjer.
  • search_string - strengen du trenger å erstatte.
  • erstatte_string - den nye strengen som erstatter den gamle.
  • Modifikator - Bestem erstatningsatferden. Det er et par forskjellige verdier.
    • G - “Global” alternativ. Utføre erstatningen ved hver forekomst av en linje.
    • GC - Be om bekreftelse før du gjør hver erstatning.
    • GN - Ignorer erstatningsfunksjonen og markerer funnene.

La oss for eksempel erstatte alle “Python” med “Python3”.

:%s/python/python3/g

Enkelt, ikke sant? La oss nå sjekke ut følgende.

:%s/python/python3/gc

Det er en håndfull handlinger du kan velge. Mens noen av dem er kjent, er det ikke andre. La oss se hva disse midlene.

  • Y - Tillat å utføre endringen.
  • n - ikke tillate å utføre endringen.
  • A - erstatte alle.
  • Q - Avslutt oppgaven.
  • L - Bare erstatt denne forekomsten. Så, slutte.
  • ^E (Ctrl + e) ​​- Rull opp en skjerm
  • ^Y (ctrl + y) - bla nedover en skjerm

La oss nå prøve ut rekkevidden. I forrige eksempel brukte vi allerede “%” -området. Nå er det på tide å begrense søkene våre innen en rekke linjer.

: 200.250 s/python/python3/g

Søket starter på linje 200 og slutter på linje 250. Mellom grensene vil all "Python" -oppføringen bli endret til "Python3".

Denne funksjonen er ikke bare begrenset til ett søkeord. Du kan inkludere flere søkeord!

:%S/\ |\ |
//g

La oss prøve å endre alle “Python” og “Py” -oppføringene til “Python3”.

:%s/python \ | py/python3/g

Saksfølsomhet

Alle triksene som er beskrevet tidligere i guiden er svært sakfølsomme. Du må virkelig sørge for at når du jobber, skriver du karakterene i riktig tilfelle. For eksempel "Python", "Python", "Python" osv. Alle er forskjellige oppføringer.

Hvis du ikke husker saken, er det bare!

/\ C
:%S/\ C//g

Denne ufølsomheten kan også være direkte aktivert fra VIMRC -filen.

Sett ignorekase

Her er et annet interessant alternativ.

Sett SmartCase

"Ignorekasen" vil tvinge Vim til å ignorere sakens følsomhet. Imidlertid, hvis det er noen store bokstaver i søket ditt, vil "SmartCase" gjøre det mulig for VIM å bli saksfølsom igjen.

Merk: For "SmartCase" for å fungere, trenger du "ignorekase" først.

Siste tanker

Det er mange ting du kan utføre med vim. Det er som den ultimate tekstredigereren du noen gang trenger. Alt du trenger er bare tålmodighet og litt praksis.

Nyt!