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å Esceller .

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å rog 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å ui 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+ri 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:

  • ifor ' i nsert' skifter dette straks vim til insert-tilstand
  • afor ' a ppend', flytter dette markøren efter det aktuelle tegn og går i insert-tilstand
  • o 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ætningstilstand
  • A flytter markøren til slutningen af ​​linjen og skifter til indsætningstilstand
  • O 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å Esceller

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 vat 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 linje
  • for 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å Esceller .

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/gat erstatte alle 'foo' med 'bar'

  • : Skifter til kommandotilstand
  • % Midler på tværs af alle linjer
  • s 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 :heller :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.