VI Editor med kommandoer i Linux/Unix Tutorial

โšก Smart oppsummering

vi-editoren er den klassiske, universelt tilgjengelige teksteditoren for Linux og Unix, som fungerer utelukkende via tastaturet i to moduser: en kommandomodus for handlinger og en innsettingsmodus for typing tekst.

  • ๐Ÿ“ Hva det er: vi-editoren leveres med nesten alle Linux- og Unix-systemer og oppfรธrer seg likt pรฅ tvers av plattformer og distribusjoner.
  • โŒจ๏ธ To moduser: Kommandomodus kjรธrer handlinger som kopier, slett og lagre, mens innsettingsmodus er for typing tekst.
  • ๐Ÿš€ Lansering: Skriv inn vi etterfulgt av et filnavn for รฅ รฅpne en eksisterende fil eller opprette en ny.
  • โœ๏ธ redigering: Enbokstavskommandoer som i, a, dd og x setter inn, legger til, sletter linjer og fjerner tegn.
  • ๐Ÿ’พ Lagrer: Fra kommandomodus lagrer :w, :wq lagrer og avslutter, og :q! avslutter uten รฅ lagre.
  • ๐Ÿค– AI-hjelp: AI-assistenter og GitHub Copilot kan forklare vi-kommandoer og foreslรฅ redigeringer mens du lรฆrer.

vi-editorkommandoer og kommando- og innsettingsmoduser i Linux og Unix

VI-editoren er teksteditoren du vil mรธte pรฅ nesten alle Linux eller Unix-maskin, sรฅ det รฅ lรฆre seg den tastaturdrevne arbeidsflyten er en ferdighet som kan overfรธres overalt. Denne veiledningen forklarer de to modusene, redigeringskommandoene og hvordan du lagrer og avslutter en fil.

Hva er vi-editoren?

vi-editoren er den mest populรฆre og klassiske teksteditoren i Linux-familien. Nedenfor er noen av grunnene til at den er et mye brukt editor:

  • Den er tilgjengelig i nesten alle Linux-distribusjoner.
  • Det fungerer likt pรฅ tvers av forskjellige plattformer og distribusjoner.
  • Det er brukervennlig, sรฅ millioner av Linux-brukere er avhengige av det for sine redigeringsbehov.

Nรฅ til dags finnes det avanserte versjoner av vi-editoren, og den mest populรฆre er VIM, som stรฅr for Vi Improved. Noen av de andre er Elvis, Nvi, Nano og Vile. Det er lurt รฅ lรฆre seg vi fordi det er funksjonsrikt og tilbyr uendelige muligheter for รฅ redigere en fil.

vi-redigereren Operasjonsmoduser

For รฅ jobbe med vi-editoren mรฅ du forstรฅ driftsmodusene. De kan deles inn i to hoveddeler: kommandomodus og innsettingsmodus. Skjermbildet nedenfor viser vi-editoren รฅpen i en Linux-terminal.

vi-editoren รฅpnes i et Linux-terminalvindu

vi Kommandomodus

  • vi-editoren รฅpnes i denne modusen, og den forstรฅr bare kommandoer.
  • I denne modusen kan du flytte markรธren og klippe ut, kopiere og lime inn tekst.
  • Denne modusen lagrer ogsรฅ endringene du har gjort i filen.
  • Kommandoer skiller mellom store og smรฅ bokstaver, sรฅ du bรธr bruke riktig bokstav.

vi Innsettingsmodus

  • Denne modusen er for รฅ sette inn tekst i filen.
  • Du kan bytte til innsettingsmodus fra kommandomodus ved รฅ trykke pรฅ 'i' pรฅ tastaturet.
  • Nรฅr du er i innsettingsmodus, brukes en hvilken som helst tast som input for filen du jobber med.
  • For รฅ gรฅ tilbake til kommandomodus og lagre endringene du har gjort, trykk pรฅ Esc-tasten.

Hvordan bruke vi editor

For รฅ starte vi-editoren, รฅpne terminalen (CLI) og skriv:

vi <filename_NEW> or <filename_EXISTING>

Hvis du spesifiserer en eksisterende fil, รฅpner redigeringsprogrammet den slik at du kan redigere den. Ellers opprettes en ny fil. Skjermbildet nedenfor viser en ny fil som opprettes og redigeres i vi.

Opprette og redigere en ny fil i vi-editoren

VI Redigeringskommandoer

Med vi-redigeringskommandoene nedenfor kan du sette inn, slette og endre tekst. Bruk dem fra kommandomodus.

Kommando Tekniske beskrivelser
i Sett inn ved markรธr (gรฅr inn i innsettingsmodus)
a Skriv etter markรธren (gรฅr inn i innsettingsmodus)
A Skriv pรฅ slutten av linjen (gรฅr inn i innsettingsmodus)
ESC Avslutt innsettingsmodus
u Angre siste endring
U Angre alle endringer pรฅ hele linjen
o ร…pne en ny linje (gรฅr inn i innsettingsmodus)
dd Slett linje
3dd Slett 3 linjer
D Slett innholdet pรฅ linjen etter markรธren
C Slett innholdet pรฅ en linje etter markรธren og sett inn ny tekst. Trykk ESC-tasten for รฅ avslutte innsettingen.
dw Slett ord
4dw Slett 4 ord
cw Bytt ord
x Slett tegn ved markรธren
r Bytt ut tegnet
R Overskriv tegn fra markรธren og utover
s Sett inn ett tegn under markรธren og fortsett รฅ sette inn
S Erstatt hele linjen og begynn รฅ sette inn fra begynnelsen av linjen
~ Endre store og smรฅ bokstaver for individuelle tegn

OBS: Du bรธr vรฆre i kommandomodus for รฅ utfรธre disse kommandoene. vi-editoren skiller mellom store og smรฅ bokstaver, sรฅ sรธrg for at du skriver kommandoene med riktig bokstav. Hvis du trykker pรฅ feil kommando, kan det fรธre til uรธnskede endringer i filen. Du kan ogsรฅ gรฅ inn i innsettingsmodus ved รฅ trykke pรฅ a, A eller o etter behov.

Flytte i en fil

Du mรฅ vรฆre i kommandomodus for รฅ navigere i en fil. Standardnavigasjonstastene er listet opp nedenfor, men du kan ogsรฅ bruke piltastene pรฅ tastaturet.

Kommando Tekniske beskrivelser
k Flytt markรธren opp
j Flytt markรธren ned
h Flytt markรธren til venstre
l Flytt markรธren til hรธyre

Lagre og lukke filen

Du bรธr vรฆre i kommandomodus for รฅ avslutte redigeringsprogrammet og lagre endringer i filen. Kommandoene nedenfor dekker vanlige mรฅter รฅ lagre og avslutte pรฅ.

Kommando Tekniske beskrivelser
Shift+zz Lagre filen og avslutt
:w Lagre filen, men hold den รฅpen
Q! Avslutt vi og ikke lagre endringer
: Wq Lagre filen og avslutt

Skjermbildet nedenfor viser en fil som er รฅpen i vi-editoren, klar til รฅ lagres og lukkes.

En fil รฅpen i vi-editoren klar til รฅ lagres og avsluttes

Spรธrsmรฅl og svar

Vim stรฅr for ยซVi Improvedยป og er en forbedret versjon av vi. Den legger til funksjoner som syntaksutheving, flernivรฅangre og gjenta, delte vinduer, faner og ordfullfรธring. Den klassiske vi er tilgjengelig pรฅ nesten alle Unix-systemer, og det er derfor kommandoene er verdt รฅ lรฆre.

I kommandomodus trykker du pรฅ / etterfulgt av teksten og Enter for รฅ sรธke fremover, eller bruker ? for รฅ sรธke bakover. Trykk pรฅ n for รฅ hoppe til neste treff og N for รฅ hoppe til det forrige. Sรธk skiller mellom store og smรฅ bokstaver med mindre du endrer innstillingen.

I kommandomodus kopierer (rykker) yy den gjeldende linjen, og p limer den inn under markรธren. Bruk et tall, for eksempel 3yy, for รฅ kopiere flere linjer samtidig. Sletting med dd plasserer ogsรฅ den fjernede teksten pรฅ utklippstavlen, slik at p kan lime den inn et annet sted.

Fra kommandomodus skriver du :set number (eller :set nu) og trykker Enter for รฅ vise linjenumre langs venstre marg. Kjรธr :set nonumber for รฅ skjule dem igjen. Linjenumre gjรธr det enklere รฅ hoppe til en bestemt linje og รฅ fรธlge feilmeldinger.

Nano er et enklere redigeringsprogram som viser snarveiene sine pรฅ skjermen og ikke trenger separate moduser, sรฅ nybegynnere synes det er lett รฅ bruke. VI-redigeringsprogrammet har en brattere lรฆringskurve, men er raskere for erfarne brukere og er installert pรฅ flere systemer som standard, inkludert minimale servere.

Kjรธr vi -R filename, eller bruk view-kommandoen, for รฅ รฅpne en fil i skrivebeskyttet modus. Dette lar deg bla gjennom og sรธke trygt uten รฅ endre innholdet ved et uhell. Du kan fortsatt fremtvinge en skriving med :w! hvis du bestemmer deg for รฅ lagre en redigering.

AI-assistenter kan forklare hva en ukjent vi-kommando gjรธr, oversette en forespรธrsel pรฅ vanlig engelsk til riktige tastetrykk og feilsรธke feil. Maskinlรฆringsbaserte verktรธy kan ogsรฅ foreslรฅ neste redigering, noe som senker den bratte lรฆringskurven som vi er kjent for.

Ja. GitHub Copilot tilbyr en offisiell plugin for Vim og Neovim som foreslรฅr kode mens du skriver i innsettingsmodus. Den bringer AI-fullfรธring til den tastaturdrevne arbeidsflyten, selv om du fortsatt godtar eller avviser hvert forslag selv.

Oppsummer dette innlegget med: