Vim Angre: Gjenopprett Endringer i Linux på et Blunk!

Det er ikke uvanlig å begå feil når man redigerer tekst med Vim i Linux. Heldigvis er det like enkelt å korrigere disse feilene.

Slik angrer du en redigering i Vim

Angre-funksjonen i Vim fungerer på mange måter likt som i moderne tekstbehandlere som Microsoft Word, LibreOffice Writer eller Google Docs. Vim lagrer alle endringene du gjør i en fil, slik at du kan gå tilbake til tidligere versjoner når det er nødvendig.

Vim registrerer alt du gjør i innsettingsmodus, samt alle kommandoer du utfører i kommandomodus, som endringer. Dette betyr for eksempel:

  • Hvis du skriver flere linjer i innsettingsmodus og deretter bruker angre-kommandoen umiddelbart, vil alle disse linjene bli fjernet.
  • Hvis du skriver en linje, går over til kommandomodus, og deretter tilbake til innsettingsmodus for å skrive litt mer tekst, vil dette bli registrert som to separate endringer. Angre-funksjonen vil derfor fjerne hver av disse endringene individuelt.

Vim lar deg også gjenta kommandoer, som for eksempel «3dd» for å slette tre linjer. Hvis du bruker en slik sammensatt kommando, vil angre-funksjonen behandle hele kommandoen som én enkel endring. Du kan fortsette å angre helt til du er tilbake til utgangspunktet, altså slik filen var da du åpnet eller opprettet den.

Hvis du innser at du har gjort en redigering i Vim som du angrer på, er det en enkel prosess i to trinn:

  • Trykk på Esc-tasten for å sikre at du er i kommandomodus.
  • Trykk deretter på «u»-tasten for å angre den siste endringen.
  • Det er alt som skal til. Du vil se en melding som bekrefter endringen, for eksempel «n linjer fjernet».

    Dersom du ønsker å angre flere endringer, er også dette mulig. Du kan angi antall endringer du vil angre ved å legge til et tall foran angre-kommandoen, akkurat som med de fleste andre Vim-kommandoer. For eksempel, hvis du ønsker å angre to endringer, trykker du:

    2u 

    Slik gjentar du en endring i Vim

    Noen ganger kan du oppdage at angre-kommandoen har gjort noe du ikke ønsker, eller kanskje du bare har ombestemt deg. I slike tilfeller kan du bruke gjenta-kommandoen for å bringe filen tilbake til sin forrige tilstand.

    Akkurat som Vim lagrer alle endringene du gjør, lagres også alle angre-operasjoner. Dette betyr at du kan angre angre-operasjoner for å gjenopprette filen slik den var før du brukte angre-kommandoen. Det er viktig å huske at Vim behandler flere linjer skrevet inn i innsettingsmodus som en enkelt endring. Dermed vil en gjenta-kommando hente tilbake alle disse linjene med én operasjon.

    Kommandoen for å gjenta en endring er Ctrl + r, som står for «redo». Som vanlig, sørg for at du er i kommandomodus ved å trykke på Esc. Gjenta-kommandoen fungerer etter samme prinsipp som angre-kommandoen: du kan for eksempel gjenta flere omgjøringer ved å angi antall foran kommandoen.

    Som med angre-kommandoen, vil du se en kort melding som informerer deg om endringene som er gjenopprettet, som for eksempel antall linjer som er lagt til i filen. Du kan gjenta endringer et ubegrenset antall ganger, helt til du er tilbake til den nåværende tilstanden i filen.