vi
vi är en editor med oförtjänt dåligt rykte. Det är dock en god idé att ha en hum om den; ibland är vi det enda som kan rädda ett krashat läge. Exempelvis är vi ett ovärderligt verktyg när man måste minska storleken på t.ex. en mailfil som ligger över quota-gränsen: vi skapar nämligen inte någon backupfil.
vi är en
editor som har två s.k. moder (kallas ibland lägen) som man växlar mellan:
1. inmatningsmode
2. kommandomode
I inmatningsmoden skriver man in text så som man vill ha den.
I kommandomoden ger man kommandon såsom skriv filen till disk, ta bort rader eller avsluta programmet (med eller utan att spara eventuella ändringar). En liten varning kan utfärdas: vi skiljer på små och STORA tecken vad gäller kommandoläget.
När man startar programmet är man i kommandoläge. Man går vanligen över i inmatningsläge genom att trycka i (insert) och kommer tillbaka från det genom att trycka på escape-tangenten.
Kommandon som har att göra med att spara filer, avsluta vi etc. börjar alltid med : (kolon - givetvis måste man vara i kommandoläget när man trycker kolon).
krumeluren ^ betyder nedan control (d.v.s. att man trycker på control-tangenten).
Kort-kort vi-handledning | |
---|---|
i | Gå till inmatningsläge. |
ESC | Lämna inmatningsläge och gå till kommandoläge (där man kan spara filen, avsluta programmet etc.) |
:x | Spara filen och avsluta vi (ZZ gör samma
sak) (Var uppmärksam så att du inte trycker på X (stora x); då kommer vi att fråga efter nyckel som dokumentet kommer att krypteras med!) |
:q | Avsluta vi (:q! avslutar utan att spara eventuella ändringar) |
u [Undo] | Ångrar senaste ändringen |
högerpil, vänsterpil, uppåtpil, nedåtpil | Flytta markör en ett steg till höger, vänster, uppåt respektive nedåt |
x | Ta bort tecken (med en siffra, n, framför tas n tecken bort) |
dd | ta bort en rad (med en siffra, n, framför tas n rader bort) |
cw [Change Word] | Ändra ett ord (med en siffra, n, framför, ändras n ord i ett svep) |
dw [Delete Word] | Ta bort ett ord (med en siffra, n, framför, tas n ord i ett svep) |
Något mera avancerade sakerBlandade kommandon | |
---|---|
/text | Sök [framåt i texten] efter text |
?text | Sök [bakåt i texten] efter text |
:set ic | Gör sökningar icke-case-sensitive |
:[rad1[,rad2]]s/sök/ers/[cgp] | Sök/ändra i texten från rad1 till rad2 (annars på den rad man står) c = Prompt before each substitution g = Replace all matches on a line p = Print line after substitution |
rx | Ersätt ett enstaka tecken med x |
R | Ersätt alla tecken framöver (avslutas med escape) |
C | Ändra resten av raden [Change] |
D | Radera resten av raden [Delete] |
J | Slå ihop rader [Join] |
Y [Yank = rycka, slita, dra] | Kopiera aktuell rad till utklippsbuffert (med en siffra, n, framför kopieras n rader) |
P [Paste] | Klistra in den rad som finns i utklippsbufferten (med en siffra, n, framför klistras n rader in) |
. | Upprepa senaste insert/delete/modify (VARNING utfärdas: se till att du vet vad du gör!) |
:sh | Startar ett [externt] shell. När detta avslutas med exit återvänder man till vi |
^ | Ändrar skiftläge (d.v.s. gemen text blir VERSAL och tvärtom) |
fx | Sök efter nästa förekomsten av x |
Fx | Sök efter föregående förekomst av x |
Gå till inmatningsläge | |
a | Sätt markören efter aktuell position och gå in i insert-mode |
A | Sätt markören sist på raden och gå in i insert-mode |
i | Gå in i insert-mode där markören står |
I | Sätt markören före första skrivbara tecknet på raden och gå in i insert-mode |
o | Gå till insert som börjar på en ny tom rad nedanför |
O | Gå till insert som börjar på en ny tom rad ovanför |
Förflytta sig i dokumentet | |
^l | Rita om skärmen |
^f | Rulla en hel sida framåt |
^d | Rulla en halv sida framåt |
^b | Rulla en hel sida bakåt |
^u | Rulla en halv sida bakåt |
^e | Rulla skärmen en rad uppåt |
^y | Rulla skärmen en rad nedåt |
Flytta markören | |
högerpil alternativtl | Flytta markören ett steg till höger |
vänsterpil alternativth | Flytta markören ett steg till vänster |
uppåtpil alternativt k alternativt - | Flytta markören ett steg till uppåt |
nedåtpil alternativt j alternativt + alternativt Return | Flytta markören ett steg till nedåt |
w | Flytta markören ett ord framåt (W flyttar sig till nästa ord som är separerat av mellanslag) |
b | Flytta markören ett ord bakåt (B flyttar sig till föregående ord som är separerat av mellanslag) |
0 (siffran noll, inte bokstaven o) | Sätt markören vid början av raden |
$ | Sätt markören vid radens slut |
H | Sätt markören på den översta raden på skärmen |
M | Sätt markören på den mellersta raden på skärmen |
L | Sätt markören på den nedersta raden på skärmen |
e | Flytta markören till slutet av ordet |
nG | Gå till rad n (om n utelämnas antas sista raden) |
) ( | Flytta markören till raden efter nästa
return Flytta markören till raden före föregående return |
} { | Flytta markören till raden efter nästa
tomrad Flytta markören till raden före föregående tomrad |
Filmanipulation | |
:w [Write] | Skriv filen (:w! skriver över en skrivskyddad fil - om det går) |
:x [eXit] | Skriv filen och avsluta vi (:x! gör som :w! ovan) |
:q [Quit] | Avslutar vi (:q! avsluta utan att spara några ändringar) |
:exxx [Edit] | Editera filen xxx |
Tag bort rad X till rad Y i FIL:
vi +'X,Yd' +wq FIL
Ersätta OLD med NEW i ”vi”
På aktuell rad:
:s/OLD/NEW/g
På alla rader:
:%s/OLD/NEW/g