Vim -søk og erstatt

Vim -søk og erstatt
Vim er en avansert og populær tekstredigerer som kommer 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 kommer med mange funksjoner. Et betydelig poeng angående VIM er at det er sterkt optimalisert for repetisjon.

I denne artikkelen vil vi forklare en av de mest nyttige funksjonene som er søk og erstatter. Med en håndfull konfigurasjon kan du søke på hva du vil ha i flammhastigheten og med finere granularitet.

Metode nr. 1 Finn og erstatt en forekomst om gangen (ved hjelp av Slash and Dot -kommandoen)

Den enkleste måten å søke på og erstatte et ord i Vim er ved å bruke Slash and Dot -kommandoen. 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 og erstatte ethvert ord i VIM Editor:

  • Åpne filen i VIM
  • Trykk på Slash (/) -tasten sammen med søkeordet som “/ search_term” og trykk Enter. Det vil fremheve det valgte ordet.
  • Trykk deretter på tastetrykk CGN For å erstatte det uthevede ordet og angi erstatnings_term
  • Gå tilbake til normal modus. Neste, slå “N” for å gå til neste forekomst av søkeordet.
  • Trykk deretter på prikken (.) Hvis du vil bytte ut neste forekomst med samme erstatnings_term, ellers, trykk igjen på "n" -tasten for å gå til neste forekomst.

Det er den raskeste og beste metoden for grunnleggende søk og erstatter funksjoner, da det bare innebærer noen få tastetrykk og mindre forstyrrelser i din nåværende arbeid. For å søke etter et ord som skjer for mange ganger, vil det imidlertid bli en repeterende og tidkrevende oppgave.

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

Metode nr. 2 Finn og erstatt ved hjelp av erstatningskommandoen

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

$: S///alternativ

Merk at du må oppgi denne kommandoen i normal modus.

Hvor

  • S: Står for erstatning
  • search_term: Ordet du vil søke og erstatte
  • erstatte_term: Ordet du vil erstatte det med
  • Alternativ: C (for bekreftelse), G (erstatt all forekomst i en linje), I (for å ignorere saken)

Søk og erstatt

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

:%S///g

Denne kommandoen vil erstatte alle forekomster av search_term med erstatnings_term.

For eksempel er dette vår prøvetekst:

“Ubuntu er en av de mest brukte Linux OS. Ubuntu inkluderer tusenvis av nyttige programmer. Med Ubuntu-kommandolinjen kan du utføre nesten enhver form for oppgave ”.

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 i en enkelt linje

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

: S//

For eksempel å erstatte forekomsten av Ubuntu med Debian i eksemplet på ovennevnte, etter kommandoen uten % symbolet vil bli brukt:

: S/Ubuntu/Debian/G

Søk og erstatt med bekreftelse

Hvis du vil bli bedt om bekreftelse før du bytter ut søkeordet, bruker du “C” på slutten av søkekommandoen som følger:

: S///GC

Kommandoen ovenfor vil be om bekreftelse før hver erstatning (skriv inn Y ​​for ja mens n for nei).

Case ufølsom søk og erstatt

Når du utfører søk og erstatter i VIM, er det som standard saks følsom. Du kan utføre et ufølsomt søk ved å legge til “Jeg” på slutten av kommandoen som følger:

: S///gi

For å søke etter begrepet “Ubuntu” uavhengig av saken (Ubuntu, Ubuntu, Ubuntu, Ubuntu), vil følgende kommando bli brukt:

: S/Ubuntu/Debian/GI

Søk og erstatt hele ordet

Som standard er erstatningskommandosøket etter en hvilken som helst kamp om det er delvis eller fullt. For å samsvare med den eksakte Search_Term og deretter erstatte den med erstatnings_term, lukker du søket _Term i "".

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

: S/\/meg/

Det vil finne ordet "du" og erstatte det med "meg". Imidlertid vil det ikke erstatte ordene som "dine".

Søk og erstatt ord mellom bestemte linjer

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

:,s///g

For å søke og erstatte forekomsten av Ubuntu med Debian fra linjer fra 3 til 8 i en eller annen fil, ville 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 bli brukt:

: s/search_term/erstatt_term/g x

Tilsvarende, for å søke og erstatte forekomsten av et ord fra gjeldende linje til den siste linjen: følgende syntaks vil bli brukt:

:.,$ s/search_term/erstatt_term/g

KONKLUSJON

I denne artikkelen har vi lært de to kommandolinjemåtene å søke og erstatte ethvert ord i en VIM-redaktør. 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 oppstår for mange ganger. Den andre kommandoen som er substitusjonskommando en gang kan virke vanskelig og sammensatt, men når du begynner å øve på den, vil du finne det ekstremt nyttig i flere scenarier.