Resolution:

VIM - texteditorn VI Improved

VI eller VIM är en av världens mest populära textredigeringsprogram och finns i de flesta Linux- och UNIX-baserade operativsystem (för övrigt bland annat även i Mac OS X) och är därför många systemadministratörers favorit text-editor, på gott och ont.

Om du är nybörjare på att använda VI eller VIM så har vi här flera matnyttiga tips och en referens som kan vara bra att ha nära till hands.

 

VIM står för VI Improved, dvs en ny och förbättrad version av VI.

VI är en av de äldsta texteditorerna och ingår som sagt som standard i de flesta server-operativsystem (i princip alla Linux- och UNIX-baserade operativsystem) vilket gör att det är klokt att bekanta sig med den - i många fall är det endast VI eller VIM du har att tillgå så för en systemadministratör är det bra att åtminstone vara något sånär bevandrad med texteditorn.

Tack vare att den enbart tar upp ca 6KB utrymme är den minimal, snabb att köra och fungerar även på extremt hårt belastade system. VIM är bakåtkompatibel med VI.

En annan fördel är att VI fungerar på exakt samma sätt oavsett på vilken plattform du använder den (undantaget touch-versionen för smartphones och tables som såklart utnyttjar pekskärmstekniken) vilket gör det väldigt enkelt att använda det för systemadministration. VI har många lättanvända (så snart man lärt sig dem i alla fall) och kraftfulla funktioner för bland annat regexp och sök-ersätt mm.

VIM har bland annat stöd för färgkodning vlket underlättar om man håller på med exempelvis programmering. VI uttalas "Vee Eye" och finns även för Windows och touch screen.

 

VI kommandon

"Vi" och "VIM" kan se lite olika ut i olika system och vi använder oss av benämningen "VI" och menar då alla olika typer av vi-installationer inklusive Vim.

Detta kanske låter lite negativt men: som nybörjare slås man av att Vi av de flesta uppfattas som helt oförståeligt. Det är nämligen så att man inte känner igen något kommando. Det är till och med svårt att förstå hur man ska stänga av programmet första gången man startat det. Men det är enkelt att komma in i VI-världen och som sagt i de allra flesta fall ett nödvändigt ont. Bra att känna till är att texteditorn nano eller pico ofta finns att tillgå så är man helt förvirrad och vill slippa VI i en panik situation - prova om du har eller kan få tillgång till tex nano men vi rekommenderar att du har med dig i bakhuvudet att så snart som möjligt bita i det sura äpplet och ta tag i VI - det lönar sig i längden!



Dessa grundprinciper är bra att känna till när du sätter igång och provar att starta Vi för första gången:

  1. När du i ett terminalfönster (tex Xterm) startar Vi så kommer programmet att uppta hela den synliga ytan. Du måste avsluta Vi (vilket du gör genom att trycka Escape, därefter skriver du :q (kolon+"q") och trycker enter) för att återgå till din terminal, där allt ligger kvar sedan tidigare.

    Du startar Vi genom att vid kommandoprompten skriva "vi" (eller vim) och trycka enter. Du kan skriva vi (mellanslag) ditt-nya_filNamn.txt för att tala om för Vi att du vill redigera en fil med namnet ditt-nya_filNamn.txt, om filen inte redan finns så skapas den nu.
  2. När man är inne i Vi så finns det tre olika lägen att använda programmet i som är:
  • Redigeringsläge. Genom att trycka på tangenen "i" (som står för Insert) så kommer du till "insert mode" och kan skriva till din nya fil men du har inte sparat ännu.
  • Kommandoläge. Genom att trycka på tangenten ESC (escape, längst upp till vänster) så avslutar du redigeringsläge (om du är i redigeringsläget) och kan skriva kommandon till programmet. Vanligtvis börjar du då med ett kolon (":")-tecken och ett vanligt kommande är tex att spara (write) vilket man då anger såhär:  ":w". För att avsluta skriver man ":q". Man kan spara och avsluta på samma gång och skriver då: ":wq". Om du vill försöka tvinga ett kommando att bli utfört kan du skriva ett utropstecken efter kommandot ("!"). Om du till exempel inte vill spara ändringar när du stänger en fil som du redigerat så skriver du: ":q!".
  • Läsläge. Det tredje läget är vanligt läs-läge, du kan använda piltangenterna för att navigera runt i filen och flytta sidor upp och ned, även en hel del andra kommandon som tex "G" (shift +g) kan du ange för att flytta till sista raden i filen, eller varför inte "100G" (1,0,0, shift+g - skriv alltså 100, direkt därefter ett stort G och tryck enter) för att flytta till rad 100 i filen. Perfekt om du har fått ett felmeddelande som anger att ett fel finns i rad 100 i denna fil!

 

Nu när du känner till lite om hur programmet är "designat" kan du läsa vår lista med vanliga Vi-kommandon, eller varför inte printa den och ha bredvid skärmen i början och som referens.

Lägg gärna ett bokmärke till denna sida.

Vanliga "VI"-kommandon

^L    -    uppdaterar skärmen (tar bort ev skräptecken som inte finns i den sparade filen mm)
^G    -    visar aktuellt radnummer, antal rader i filen, var i filen markören är placerad
^H    -    ett steg bakåt (backspace, radera)
E eller e -    flytta markören till slutet av ordet
B eller b -    flytta markören bakåt ett ord (motsatsen till E och e. fungerar ungefär som g/G)
H    -    flytta markören till första positionen på första raden (jmf home i windows)
M    -    flytta markören till mitten av skärmen
L    -    flytta markören till sista raden på skärmen
$    -    flytta markören till slutet på aktuell rad.
/    -    sök framåt
?    -    sök bakåt (kan ersättas av / och N)
N eller n -    uprepa senaste kommandot (/sökningen (N=sök bakåt, n=framåt))
^B    -    flytta markören till början filen (samma som g)
g    -    flytta till första raden i filen
G    -    flytta till sista raden i filen
#G    -    flytta till rad nr #
/#    -    sök (framåt) efter begreppet #
?#    -    sök (bakåt) efter begreppet #
cw    -    ersätt ord
r    -    replace
i    -    input mode (där markören befinner sig)
a    -    input mode (efter aktuell position)
x    -    radera
:wq!    -    spara, sluta (!=tvingande)
p    -    klistra in text på raden under aktuell rad
P    -    klistra in text på raden över aktuell rad
yy    -    kopiera
#yy    -    kopiera antal# rader
o    -    öppna en ny rad på raden under aktuell rad
O    -    öppna en ny rad på raden ovan aktuell rad
END    -    ändrar småbokstäver till stora och tvärtom
^F    -    bläddrar en skärm framåt (ner)
^B    -    bläddrar en skärm bakåt (upp)
dd    -    raderar raden du står på
#dd    -    raderar antalet # rader neråt OBS att det tillfälligt hamnar i en buffert, så du kan
        tex använda #dd, och sedan flytta till en annan position och där klistra in med P eller p.
        På detta vis får du en "cut & paste" funktion.
dw    -    raderar ett ord
d0    -    raderar till början av raden
d$    -    raderar till slutet av raden
4dw    -    raderar de följande fyra orden
4dl    -    raderar d fyra följande bokstäverna
db    -    raderar det föregående ordet eller föregående delen av ordet
d}    -    raderar följande del av paragrafen
d)    -    raderar resten av meningen
.    -    upprepa senaste kommandot
u    -    undo senaste kommandot

 ____________________________________________________________________________

Förklaring

Tecknet "^" motsvarar tangenten ctrl
Tecknet "#" skall ersättas med en/flera siffror eller tex en textsträng vid sökning ("/" eller "?")
Tecknet "$" får du fram genom att trycka "Alt Gr"+"4"

 ____________________________________________________________________________

[Vissa kommandon kan variera beroende på version och OS, prova 'man vi'. Uppdaterad senast 1999-05-11]

ladda ned filen i txt-format via vårt supportcenter

Till sidans topp