VI Editor med kommandoer i Linux/Unix Tutorial

โšก Smart opsummering

vi-editoren er den klassiske, universelt tilgรฆngelige teksteditor til Linux og Unix, der udelukkende fungerer via tastaturet i to tilstande: en kommandotilstand til handlinger og en indsรฆttelsestilstand til ty.ping tekst.

  • ๐Ÿ“ Hvad er det: vi-editoren leveres med nรฆsten alle Linux- og Unix-systemer og opfรธrer sig ens pรฅ tvรฆrs af platforme og distributioner.
  • โŒจ๏ธ To tilstande: Kommandotilstand udfรธrer handlinger som kopiering, sletning og gemning, mens indsรฆttelsestilstand er til typing tekst.
  • ๐Ÿš€ Lancering: Skriv vi efterfulgt af et filnavn for at รฅbne en eksisterende fil eller oprette en ny.
  • โœ๏ธ redigering: Enkeltbogstavskommandoer som i, a, dd og x indsรฆtter, tilfรธjer, sletter linjer og fjerner tegn.
  • ๐Ÿ’พ Gemmer: Fra kommandotilstand gemmer :w, :wq gemmer og afslutter, og :q! afslutter uden at gemme.
  • ๐Ÿค– AI assistance: AI-assistenter og GitHub Copilot kan forklare vi-kommandoer og foreslรฅ redigeringer, mens du lรฆrer.

vi-editorkommandoer og kommando- og indsรฆttelsestilstande i Linux og Unix

VI-editoren er den teksteditor, du vil stรธde pรฅ pรฅ nรฆsten alle Linux eller Unix-maskine, sรฅ det at lรฆre dens tastaturdrevne arbejdsgang er en fรฆrdighed, der kan overfรธres overalt. Denne vejledning forklarer dens to tilstande, dens redigeringskommandoer og hvordan man gemmer og afslutter en fil.

Hvad er vi-editoren?

vi-editoren er den mest populรฆre og klassiske teksteditor i Linux-familien. Nedenfor er nogle af grundene til, at den er en meget anvendt editor:

  • Den er tilgรฆngelig i nรฆsten alle Linux-distributioner.
  • Det fungerer ens pรฅ tvรฆrs af forskellige platforme og distributioner.
  • Det er brugervenligt, sรฅ millioner af Linux-brugere er afhรฆngige af det til deres redigeringsbehov.

Nu om dage findes der avancerede versioner af vi-editoren, og den mest populรฆre er VIM, som stรฅr for Vi Improved. Nogle af de andre er Elvis, Nvi, Nano og Vile. Det er klogt at lรฆre vi, fordi det er funktionsrigt og tilbyder uendelige muligheder for at redigere en fil.

vi-editor Operation-tilstande

For at arbejde med vi-editoren skal du forstรฅ dens driftstilstande. De kan opdeles i to hoveddele: kommandotilstand og indsรฆttelsestilstand. Skรฆrmbilledet nedenfor viser vi-editoren รฅben i en Linux-terminal.

vi-editoren รฅbnes i et Linux-terminalvindue

vi Kommandotilstand

  • vi-editoren รฅbner i denne tilstand, og den forstรฅr kun kommandoer.
  • I denne tilstand kan du flytte markรธren og klippe, kopiere og indsรฆtte tekst.
  • Denne tilstand gemmer ogsรฅ de รฆndringer, du har foretaget i filen.
  • Kommandoer skelner mellem store og smรฅ bogstaver, sรฅ du bรธr bruge det rigtige store og smรฅ bogstav.

vi Indsรฆtningstilstand

  • Denne tilstand er til at indsรฆtte tekst i filen.
  • Du kan skifte til indsรฆttelsestilstand fra kommandotilstand ved at trykke pรฅ 'i' pรฅ tastaturet.
  • Nรฅr du er i indsรฆtningstilstand, bruges en hvilken som helst tast som input til den fil, du arbejder pรฅ i รธjeblikket.
  • For at vende tilbage til kommandotilstand og gemme de รฆndringer, du har foretaget, skal du trykke pรฅ Esc-tasten.

Hvordan man bruger vi editor

For at starte vi-editoren skal du รฅbne terminalen (CLI) og skrive:

vi <filename_NEW> or <filename_EXISTING>

Hvis du angiver en eksisterende fil, รฅbner editoren den, sรฅ du kan redigere den. Ellers opretter den en ny fil. Skรฆrmbilledet nedenfor viser en ny fil, der oprettes og redigeres i vi.

Oprettelse og redigering af en ny fil i vi-editoren

VI Redigeringskommandoer

Med vi-redigeringskommandoerne nedenfor kan du indsรฆtte, slette og รฆndre tekst. Brug dem fra kommandotilstand.

Kommando Beskrivelse
i Indsรฆt ved markรธren (gรฅr i indsรฆttelsestilstand)
a Skriv efter markรธren (gรฅr i indsรฆttelsestilstand)
A Skriv i slutningen af โ€‹โ€‹linjen (gรฅr i indsรฆttelsestilstand)
ESC Afslut indsรฆttelsestilstand
u Fortryd sidste รฆndring
U Fortryd alle รฆndringer pรฅ hele linjen
o ร…bn en ny linje (gรฅr i indsรฆttelsestilstand)
dd Slet linje
3dd Slet 3 linjer
D Slet indholdet af linjen efter markรธren
C Slet indholdet af en linje efter markรธren og indsรฆt ny tekst. Tryk pรฅ ESC-tasten for at afslutte indsรฆttelsen.
dw Slet ord
4dw Slet 4 ord
cw Skift ord
x Slet tegn ved markรธren
r Erstat tegn
R Overskriv tegn fra markรธren og frem
s Erstat รฉt tegn under markรธren og fortsรฆt med at indsรฆtte
S Erstat hele linjen og begynd at indsรฆtte i begyndelsen af โ€‹โ€‹linjen
~ Skift mellem store og smรฅ bogstaver

Bemรฆrk: Du skal vรฆre i kommandotilstand for at udfรธre disse kommandoer. vi-editoren skelner mellem store og smรฅ bogstaver, sรฅ sรธrg for at skrive kommandoerne med det rigtige store og smรฅ bogstav. Hvis du trykker pรฅ den forkerte kommando, kan det medfรธre uรธnskede รฆndringer i filen. Du kan ogsรฅ gรฅ ind i indsรฆtningstilstand ved at trykke pรฅ a, A eller o efter behov.

Flytning i en fil

Du skal vรฆre i kommandotilstand for at navigere i en fil. Standardnavigationstasterne er angivet nedenfor, men du kan ogsรฅ bruge piletasterne pรฅ tastaturet.

Kommando Beskrivelse
k Flyt markรธren op
j Flyt markรธren ned
h Flyt markรธren til venstre
l Flyt markรธren til hรธjre

Gemmer og lukker filen

Du skal vรฆre i kommandotilstand for at afslutte editoren og gemme รฆndringer i filen. Kommandoerne nedenfor dรฆkker de almindelige mรฅder at gemme og afslutte.

Kommando Beskrivelse
Shift+zz Gem filen og afslut
:w Gem filen, men hold den รฅben
Q! Afslut vi og gem ikke รฆndringerne
: WQ Gem filen og afslut

Skรฆrmbilledet nedenfor viser en fil, der er รฅben i vi-editoren, klar til at blive gemt og lukket.

En fil รฅben i vi-editoren, klar til at blive gemt og afsluttet

Ofte Stillede Spรธrgsmรฅl

Vim stรฅr for "Vi Improved" og er en forbedret version af vi. Den tilfรธjer funktioner som syntaksfremhรฆvning, flerniveau fortryd og redo, opdelte vinduer, faner og ordfuldfรธrelse. Den klassiske vi er tilgรฆngelig pรฅ nรฆsten alle Unix-systemer, hvilket er grunden til, at dens kommandoer er vรฆrd at lรฆre.

I kommandotilstand skal du trykke pรฅ / efterfulgt af teksten og Enter for at sรธge fremad, eller bruge ? for at sรธge bagud. Tryk pรฅ n for at hoppe til det nรฆste match og N for at hoppe til det forrige. Sรธgninger skelner mellem store og smรฅ bogstaver, medmindre du รฆndrer indstillingen.

I kommandotilstand kopierer (trรฆkker) yy den aktuelle linje, og p indsรฆtter den under markรธren. Brug et tal, f.eks. 3yy, til at kopiere flere linjer pรฅ รฉn gang. Sletning med dd placerer ogsรฅ den fjernede tekst pรฅ udklipsholderen, sรฅ p kan indsรฆtte den et andet sted.

Fra kommandotilstand skal du skrive :set number (eller :set nu) og trykke pรฅ Enter for at vise linjenumre langs venstre margen. Kรธr :set nonumber for at skjule dem igen. Linjenumre gรธr det nemmere at hoppe til en bestemt linje og fรธlge fejlmeddelelser.

Nano er en enklere editor, der viser sine genveje pรฅ skรฆrmen og ikke krรฆver separate tilstande, sรฅ begyndere finder den tilgรฆngelig. VI-editoren har en stejlere indlรฆringskurve, men er hurtigere for erfarne brugere og er som standard installeret pรฅ flere systemer, inklusive minimale servere.

Kรธr vi -R filename, eller brug kommandoen view, for at รฅbne en fil i skrivebeskyttet tilstand. Dette giver dig mulighed for at browse og sรธge sikkert uden at รฆndre indholdet ved et uheld. Du kan stadig fremtvinge en skrivning med :w!, hvis du beslutter dig for at gemme en redigering.

AI-assistenter kan forklare, hvad en ukendt vi-kommando gรธr, oversรฆtte en anmodning pรฅ almindeligt engelsk til de rigtige tastetryk og foretage fejlfinding. Maskinlรฆringsbaserede vรฆrktรธjer kan ogsรฅ foreslรฅ den nรฆste redigering, hvilket sรฆnker den stejle lรฆringskurve, som vi er kendt for.

Ja. GitHub Copilot tilbyder et officielt plugin til Vim og Neovim der foreslรฅr kode, mens du skriver i indsรฆtningstilstand. Det tilfรธjer AI-fuldfรธrelse til den tastaturdrevne arbejdsgang, selvom du stadig selv accepterer eller afviser hvert forslag.

Opsummer dette indlรฆg med: