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!