Editor vi se spustí příkazem:
vi soubor
šipka_nahoru O řádku nahoru, též k.
šipka_dolů O řádku dolů, též j.
šipka_vpravo O znak doprava, též l.
šipka_vlevo O znak doleva, též h.
$ Na konec řádku, též <END>.
0 Na začátek řádku.
w Na začátek následujícího slova.
b Na začátek předchozího slova.
G Na konec souboru.
1G Na 1. řádek souboru.
^F O stránku dolů - ke konci souboru, též <PgDn>.
^B O stránku nahoru - k začátku souboru, též <PgUp>.
^D O půl stránky dolů - ke konci souboru.
^U O půl stránku nahoru - k začátku souboru.
/řetězec Vyhledání řetězce znaků směrem ke konci souboru
(po stisknutí klávesy / se zadává řetězec na dolním řádku).
Pokud se řetězec do konce souboru nenajde, hledá se od
začátku souboru (cyklické vyhledávání).
?řetězec Vyhledání řetězce znaků směrem k začátku souboru, jinak
stejně jako /řetězec.
x Maže znak na pozici kursoru.
dd Výmaz aktuální řádky.
dpohyb Maže text od aktuální pozice po pozici, kam směřuje pohyb.
Příklady:
d$ výmaz od aktuální pozice do konce řádku,
dG výmaz od aktuální pozice do konce souboru,
d/text výmaz od aktuální pozice po první výskyt řetězce text,
rx Přepsání znaku na pozici kurzoru znakem x.
J Připojení následujícího řádku na konec aktuálního řádku
(tj. vymazaní znaku konce řádky).
yy Uložení aktuálního řádku do odkládací oblasti.
ypohyb Uložení textu do odkládací oblasti od aktuální pozice po
pozici, kam směřuje pohyb. Příklad:
y$ uložení textu od aktuální pozice do konce řádku,
p Vložení textu z odkládací oblasti za pozici kurzoru.
P Vložení textu z odkládací oblasti před pozici kurzoru.
a Vkládání za pozici kurzoru. A Vkládání na konec řádku. i Vkládání na pozici kurzoru. I Vkládání na začátek řádky. R Režim přepisování znaků.
V režimu vkládání nelze používat šipky!!!
. Současný řádek.
$ Poslední řádek textu v editované oblasti.
n Číslo desítkové soustavy označuje pořadí řádku editované oblasti.
.+n Relativní odkaz na řádek vzdálený n řádků kupředu.
.-n Odkaz na řádek vzdálený n řádků zpět.
/řetězec První řádek od aktuálního směrem ke konci editované oblasti
obsahující řetězec (řádek odpovídající zadanému regulárnímu
výrazu).
Ve dvojici jsou adresy odděleny znakem ,. Např. 1,$ adresuje celou oblast editace.
.,+3 adresuje oblast od aktuálního řádku do řádku o 3 dále včetně,
[rozsah] w [soubor]
Zápis editovaného textu do souboru. Pokud se jméno souboru neuvede,
přepíše se soubor, který byl otevřen. Variantou w! lze textem
přepsat soubor, ke kterému má uživatel pouze přístup na čtení. Příkaz
wq je totéž jako w a pak q. Pokud není uveden rozsah,
zapisuje se text z celé editovací oblasti.
q Ukončení práce editoru. Pokud změny nejsou uloženy, nelze
takto ukončit.
q! Ukončení editoru bez uložení změny.
r soubor
Načtení textu ze souboru do oblasti editace za aktuální řádek.
[rozsah] s/regulární_výraz/text/[volby]
Výměna textu danného regulárním výrazem za text. Jako volbu lze zadat
g, který rozšiřuje platnost výměny na všechny výskyty
regulárního výrazu na řádce. Při použití volby c bude editor
požadovat před každou výměnou potvrzení. Pokud není uveden rozsah, týká
se výměna pouze aktuálního řádku. Příklad:
1,$ s/novak/Novak/gc
V celém souboru se místo řetězce novak zapíše řetězec Novak. Před
každou výměnnou se editor zeptá, zda ji má opravdu provést.
[rozsah] p
Výpis řádku (řádků dle zadaného rozsahu) na obrazovce.
a Vkládání textu za aktuální řádek. Následující text zapisovaný
na terminál je vložen do oblasti editace až po řádek, který
obsahuje pouze v prvním sloupci znak .
i Vkládání textu před aktuální řádek.
[rozsah]d
Zrušení aktuálního řádku (řádků dle zadaného rozsahu).
[rozsah] g/regulární_výraz/příkazy
Na řádcích, které odpovídají regulárnímu výrazu se provedou zadané
příkazy. Příklad:
1,$ g/^#/d
v celém souboru se zruší řádky, které začínají znakem #.