Vim søk og erstatt

Vim Search Replace



Vim er et avansert og populært tekstredigeringsprogram som er forhåndsinstallert i de fleste Linux -distribusjonene. Det er en kommandolinjebasert tekstredigerer som for det meste brukes i ikke-GUI-baserte operativsystemer. Den er svært konfigurerbar og har mange funksjoner. Et vesentlig poeng angående Vim er at den er svært optimalisert for repetisjon.

I denne artikkelen vil vi forklare en av de mest nyttige funksjonene som er søk og erstatning. Med en håndfull konfigurasjon kan du søke etter alt du vil med den rasende hastigheten og med finere granularitet.







Metode #1 Finn og erstatt en forekomst om gangen (ved hjelp av kommandoen skråstrek og prikk)

Den enkleste måten å søke og erstatte et ord i Vim er ved å bruke kommandoen skråstrek og prikk. Slash (/) kan brukes til å søke etter et ord mens prikken (.) Kan brukes til å erstatte det ordet.



Følg de enkle trinnene nedenfor for å søke etter og erstatte et hvilket som helst ord i Vim -editoren:



  • Åpne filen i Vim
  • Trykk slash ( /) -tasten sammen med søkeordet som / search_term og trykk Enter. Det vil markere det valgte ordet.
  • Trykk deretter på tastetrykket cgn for å erstatte det uthevede ordet og skriv inn erstatningsterm
  • Gå tilbake til normal modus. Trykk deretter på n for å gå til neste forekomst av søkeordet.
  • Trykk deretter på prikken (.) Hvis du vil erstatte neste forekomst med samme erstatningsterm, ellers trykker du på n -tasten for å gå til neste forekomst.

Det er den raskeste og beste metoden for grunnleggende søk og erstatter funksjoner, ettersom det innebærer bare noen få tastetrykk og mindre forstyrrelse av ditt nåværende arbeid. Hvis du søker etter et ord som forekommer for mange ganger, vil det imidlertid bli en repetitiv og tidkrevende oppgave.





Med Vim er det en annen bedre måte å unngå denne repetitive oppgaven som bruker erstatningskommandoen.

Metode 2 Finn og erstatt ved hjelp av kommandoen Substitute

Erstatningskommandoen kan brukes til å utføre grunnleggende til avansert søk og erstatte funksjoner med en enkelt kommando. Syntaksen for denne kommandoen er:



$: s/<søkeord> /<erstatt_term> /alternativ

Vær oppmerksom på at du må skrive inn denne kommandoen i normal modus.

Hvor

  • S: står for vikar
  • search_term: ordet du vil søke etter og erstatte
  • Erstatt_term: ordet du vil erstatte det med
  • Alternativ: c (for bekreftelse), g (erstatt all forekomst på en linje), i (for å ignorere saken)

Søk og erstatt

For å utføre grunnleggende søk og erstatning ved hjelp av erstatningskommandoen, bruk følgende syntaks:

:%s/<søkeord> /<erstatt_term> /g

Denne kommandoen erstatter alle forekomster av search_term med erstatningsterm.

For eksempel er dette vår eksempeltekst:

Ubuntu er et av de mest brukte Linux -operativsystemene. Ubuntu inneholder tusenvis av nyttige programmer. Med kommandolinjen i Ubuntu kan du utføre nesten alle slags oppgaver.

For å erstatte hver forekomst av Ubuntu med Debian i følgende tekst, vil følgende kommando bli brukt:

:%s/Ubuntu/Debian/g

Søk og erstatt på en enkelt linje

For å søke og erstatte forekomsten av et ord bare på en enkelt linje i stedet for hele filen, bruker du følgende syntaks:

: s/<søkeord> /erstatt_term/g

For eksempel, for å erstatte forekomsten av Ubuntu med Debian i eksempelteksten ovenfor, vil følgende kommando uten % -symbolet bli brukt:

: s/Ubuntu/Debian/g

Søk og erstatt med bekreftelse

Hvis du vil bli bedt om bekreftelse før du erstatter søkeordet, bruker du c på slutten av søkekommandoen som følger:

: s/<søkeord> /<erstatt_term> /gc

Kommandoen ovenfor vil be om bekreftelse før hver erstatning (Skriv y for ja mens n for nei).

Ufølsom bokstav og søk

Når du utfører søk og erstatning i Vim, er det som standard store og små bokstaver. Du kan utføre et ufølsomt søk ved å legge til i på slutten av kommandoen som følger:

: s/<søkeord> /<erstatt_term> /gi

For eksempel, for å søke etter begrepet Ubuntu uavhengig av sak (UBUNTU, Ubuntu, ubuntu, uBuntu), vil følgende kommando bli brukt:

: s/ubuntu/debian/gi

Søk og erstatt hele ordet

Som standard søker erstatningskommandoen etter en match, enten den er delvis eller full. For å matche det eksakte søkeordet og deretter erstatte det med erstatteterm, må du legge inn søkeordet _ i.

For eksempel vil du i noen dokumenter søke og erstatte det eksakte ordet du har av meg. I så fall vil følgende kommando bli brukt:

: s/<du> /Jeg/

Det vil finne ordet deg og erstatte det med meg. Det vil imidlertid ikke erstatte ordene som dine.

Søk og erstatt ord blant bestemte linjer

For å søke etter et ord blant de bestemte linjene i stedet for bare en linje eller hele filen, kan følgende syntaks brukes:

:<startlinje>,<sluttlinje>s/<søkeord> /<erstatt_term> /g

For eksempel, for å søke og erstatte forekomsten av Ubuntu med Debian fra linjer fra 3 til 8 i en fil, vil kommandoen være:

:1, 10s/ubuntu/debian/g

For å søke og erstatte forekomsten av et ord fra gjeldende linje til neste x antall linjer, vil følgende syntaks brukes:

: s/søkeord/erstatt_term/g x

På samme måte, for å søke og erstatte forekomsten av et ord fra gjeldende linje til siste linje: vil følgende syntaks brukes:

:.,$ s/søkeord/erstatt_term/g

KONKLUSJON

I denne artikkelen har vi lært de to kommandolinjemåtene for å søke og erstatte ethvert ord i en Vim-editor. Den første kommandoen som brukte skråstrek og prikk er den enkleste og enkleste metoden, men det viser seg å være repeterende når du søker og erstatter et ord som forekommer for mange ganger. Den andre kommandoen som er substitusjonskommando en gang, kan virke vanskelig og kompleks, men når du begynner å praktisere den, vil du finne den ekstremt nyttig i flere scenarier.