Vim Editor-tilstande forklaret
Fordi Vim er fokuseret på at ændre eksisterende kode lige så meget som at skrive ny kode, er den opdelt i flere tilstande, der hver har forskellige formål.
Normal tilstand
Som standard starter Vim i “normal” tilstand. Normal tilstand kan tilgås fra andre tilstande ved at trykke på Esc
eller .
I normal tilstand fungerer tastetryk ikke som man kunne forvente. Det vil sige, de indsætter ikke tekst i dokumentet; i stedet kan visse tastetryk:
Flyt markøren
- h flyt et tegn til venstre
- j flyt en række ned
- k flyt en række op
- Jeg flytter et tegn til højre
Som mange vim-kommandoer kan rækkebevægelse forud for et nummer for at flytte flere linjer ad gangen:
- 4j flyt 4 rækker ned
- 6k flyt 6 rækker op
Grundlæggende ordbevægelser:
- w flytter til begyndelsen af næste ord
- b gå til forrige begyndelse af ordet
- e flytte til slutningen af ordet
- W flytter til begyndelsen af næste ord efter et mellemrum
- B gå til begyndelsen af forrige ord før et mellemrum
- E flyt til slutningen af ordet før et mellemrum
Begyndelse / slutning af linjebevægelse:
- 0 gå til begyndelsen af linjen
- $ flyt til slutningen af linjen
Manipulere tekst
Indtast andre tilstande
Normal tilstand er, hvor man skal bruge det meste af deres tid, mens man bruger Vim. Husk, det er dette, der gør Vim anderledes.
I normal tilstand er der flere måder at flytte rundt på en åben fil. Ud over at bruge markørtasterne til at flytte rundt, kan du også bruge h
(venstre), j
(ned), k
(op) og l
(højre) til at flytte. Dette hjælper især berøringsskrivere, der ikke kan lide at forlade hjemmet, når de foretager ændringer.
Du kan også foretage ændringer i enkelte tegn i normal tilstand. Hvis du f.eks. Vil erstatte et enkelt tegn, skal du flytte markøren over det og trykke på r
og derefter det tegn, du vil erstatte det med. På samme måde kan du slette enkelte tegn ved at flytte markøren over den og trykke på x
.
For at udføre en fortrydelse skal du trykke på u
i normal tilstand. Dette fortryder ændringer indtil sidste gang du var i normal tilstand. Hvis du vil gentage ( dvs. fortryde din fortrydelse) skal du trykke på Ctrl+r
i normal tilstand.
Indsæt tilstand
Dette er den næstmest anvendte tilstand og vil være den mest velkendte opførsel for de fleste mennesker. Når du er i indsættelsestilstand, indsætter indsættelser tegn ligesom en almindelig teksteditor. Du kan gå ind i det ved hjælp af en indsætningskommando fra normal tilstand.
Indsæt kommandoer inkluderer:
i
for ' i nsert' skifter dette straks vim til insert-tilstanda
for ' a ppend', flytter dette markøren efter det aktuelle tegn og går i insert-tilstando
indsætter en ny linje under den aktuelle linje og går ind i insert-tilstand på den nye linje
Disse kommandoer har også store bogstaver:
I
flytter markøren til begyndelsen af linjen og skifter til indsætningstilstandA
flytter markøren til slutningen af linjen og skifter til indsætningstilstandO
indsætter en ny linje over den aktuelle og går ind i insert-tilstand på den nye linje
Der er så mange flere måder at indsætte tekst i Vim på, som ikke kan vises her, men disse er de enkleste. Vær også opmærksom på at blive i indsætstilstand for længe; Vim er ikke designet til at blive brugt i insert-tilstand hele tiden.
For at forlade indsætningstilstand og vende tilbage til normal tilstand skal du trykke på Esc
eller
Visuel tilstand
Visuel tilstand bruges til at foretage valg af tekst, svarende til hvordan man klikker og trækker med en mus. Valg af tekst tillader, at kommandoer kun gælder for markeringen, såsom kopiering, sletning, udskiftning osv.
Sådan foretages et tekstvalg:
- Tryk for
v
at gå ind i visuel tilstand, dette markerer også et startvalgpunkt - Flyt markøren til det ønskede slutvalgspunkt; vim giver en visuel fremhævning af tekstvalget
Visuel tilstand har også følgende varianter:
V
for at gå ind i visuel linjetilstand, foretager dette tekstvalg efter linjefor at gå ind i visuel bloktilstand, vil dette foretage tekstvalg efter blokke; ved at flytte markøren foretages rektangelvalg af teksten
For at forlade den visuelle tilstand og vende tilbage til normal tilstand skal du trykke på Esc
eller .
Den visuelle tilstand faktisk har flere undertyper: visuel , blok-visuelle og linewise-visuelle
- visuelt : som beskrevet ovenfor. Gå ind ved at trykke på
v
- blokvisuel : vælg et hvilket som helst rektangulært område. Gå ind ved at trykke på
+v
- linevis-visual : vælg altid fulde linjer. Gå ind ved at trykke på
+v
Kommandotilstand
Kommandotilstand har en lang række kommandoer og kan gøre ting, som normal tilstand ikke kan gøre så let. For at komme ind i kommandotilstandstype ':' fra normal tilstand, og skriv derefter din kommando, der skal vises nederst i vinduet. For eksempel at lave en global søgning og erstatte type for :%s/foo/bar/g
at erstatte alle 'foo' med 'bar'
:
Skifter til kommandotilstand%
Midler på tværs af alle linjers
Midler erstatning/foo
er regex for at finde ting, der skal erstattes/bar/
er regex at erstatte ting med/g
betyder global, ellers ville den kun udføre en gang pr. linje
Vim har en række andre metoder, som du kan læse om i hjælpedokumentationen :h
eller :help
.
Udskift tilstand
Udskiftningstilstand giver dig mulighed for at erstatte eksisterende tekst ved direkte at skrive over den. Før du går ind i denne tilstand, skal du gå i normal tilstand og placere markøren oven på det første tegn, du vil erstatte. Tryk derefter på 'R' (store bogstaver R) for at åbne udskiftningstilstand. Uanset hvad du skriver, erstatter den eksisterende tekst. Markøren flytter automatisk til det næste tegn ligesom i indsættelsesfunktionen. Den eneste forskel er, at hvert tegn, du skriver, erstatter det eksisterende.