Hvordan finne og erstatte tekst i Vim på Linux

vim er en av de mest populære filredigererne i Linux. En del av populariteten skyldes kommandolinjemodusen til vim, som gjør det mulig for brukere, spesielt programvareutviklere og avanserte brukere, å optimalisere tiden for filmodifikasjonsoperasjoner.

I denne artikkelen vil vi se hvordan du finner og erstatter tekst i vim kommandolinjemodus.

Først, la oss åpne en tekstfil i vim:

vim test.txt

Vim opererer i forskjellige moduser. De to viktigste modusene er kommandomodusen nevnt ovenfor, og den andre er Insert-modus, som brukes til å endre filinnholdet.

Som standard, når en fil åpnes, fungerer vim i kommandomodus. Du kan trykke Jeg for å gå til innsettingsmodus.

I kommandomodus kan du begynne å skrive vim-kommandoer direkte; de vises nederst på terminalen. Denne nederste delen fungerer som en integrert ledetekst i vim.

For å søke etter en streng, skriv omvendt skråstrek / etterfulgt av strengen som skal søkes i.

For eksempel: /hund

Som vist ovenfor, tar den markøren til neste forekomst av strengen fra posisjonen der markøren er plassert. Markøren ble plassert ved strengen brun som vist på et tidligere bilde. For å finne de neste forekomstene, trykk n. Etter den siste forekomsten går den tilbake til først, og gir en melding «søk treffer NEDERST, fortsetter på TOPP».

For å søke etter en streng med et spesialtegn, eller for eksempel tegn som et pluss (+), eller et mellomrom, foran tegnet med en skråstrek:

For eksempel: /C\+

For å finne og erstatte første strengforekomst på en linje, plasserer vi markøren på den linjen, og bruker følgende kommando:

For eksempel: :s/hund/tiger

Som du kan se i skjermbildet ovenfor, er den tredje linjen hvor markøren er plassert, ordet hund ha er erstattet med tiger som instruert i kommandoen.

For å finne og erstatte alle forekomster av streng på en linje, bruk /g på slutten.

For eksempel: :s/katt/hund/g

For å finne og erstatte alle forekomster globalt, vi bruker %s i stedet for bare s:

For eksempel: :%s/hund/mus

Hvis strengen består av spesialtegn som mellomrom, kan den innledes med skråstrek på samme måte som vist før.

? Jubel!