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 #.