Sådan finder og erstatter du tekst i Vim på Linux

vim er en af ​​de mest populære filredigerere i Linux. En del af populariteten skyldes kommandolinjetilstanden for vim, som gør det muligt for brugere, især softwareudviklere og avancerede brugere, at optimere tiden til filændringsoperationer.

I denne artikel vil vi se, hvordan du finder og erstatter tekst i vim kommandolinjetilstand.

Lad os først åbne en tekstfil i vim:

vim test.txt

Vim fungerer i forskellige tilstande. To vigtigste tilstande er kommandotilstanden nævnt ovenfor, og den anden er Indsæt-tilstand, der bruges til at ændre filindholdet.

Som standard, når en fil åbnes, fungerer vim i kommandotilstand. Du kan trykke på jeg for at gå til Indsæt-tilstand.

I kommandotilstand kan du begynde at skrive vim-kommandoer direkte; de vises i bunden af ​​terminalen. Denne nederste del fungerer som en integreret kommandoprompt i vim.

For at søge efter en streng, skriv omvendt skråstreg / efterfulgt af strengen, der skal søges i.

For eksempel: /hund

Som det ses ovenfor, fører den markøren til den næste forekomst af strengen fra den position, hvor markøren er placeret. Markøren blev placeret ved strengen Brun som vist på et tidligere billede. Tryk på for at finde de næste forekomster n. Efter den sidste forekomst går den tilbage til først og giver en besked "Søg ramt BUND, fortsætter på TOPPEN".

For at søge efter en streng med et specialtegn, eller for eksempel tegn som et plus (+) eller et mellemrum, foran tegnet med en skråstreg:

For eksempel: /C\+

At finde og erstatte den første strengforekomst på en linje, placerer vi markøren på den linje og bruger følgende kommando:

For eksempel: :s/hund/tiger

Som du kan se på skærmbilledet ovenfor, er den tredje linje, hvor markøren er placeret, ordet hund ha s udskiftet med tiger som anvist i kommandoen.

At finde og erstatte alle forekomster af streng på en linje, brug /g i slutningen.

For eksempel: :s/kat/hund/g

At finde og erstatte alle forekomster globalt, vi bruger %s i stedet for kun s:

For eksempel: :%s/hund/mus

Hvis strengen består af specialtegn som mellemrum, kan den indledes med skråstreg på samme måde som vist før.

? Skål!