vi je obrazovkový textový editor. Tento počítačový program napsal Bill Joy v roce 1976 pro unixový operační systém BSD.
Takto vypadá program vi
Název programu vi se vyslovuje jako „ví-aj“ a označuje nejkratší možnou zkratku příkazu visual v textovém editoru ex. Tento příkaz přepíná řádkový mód editoru do celoobrazovkového módu.
vi přiřazuje klávesám nebo kombinacím kláves různé významy, podle toho, v jakém módu editor zrovna pracuje. V módu vkládání je text vložen do dokumentu. Po stisku klávesy Escape přejde editor do příkazového módu, ve kterém některá písmena ovládají pohyb kurzoru nebo editační funkce. Například: j posouvá kurzor o jednu řádku dolů, k jednu řádku nahoru, x vymaže znak na pozici kurzoru a i znamená návrat do módu vkládání (insert mode). Znaky kláves stisknutých v příkazovém módu se nevkládají do souboru, ale interpretují se jako příkazy. Tento princip činí začátečníkům značné potíže. Pro zkušené uživatele naopak tento princip dovoluje velmi efektivní ovládání programu bez nutnosti používat myš nebo komplikované kombinace kláves.
V příkazovém módu lze provádět celou řadu editovacích operací stiskem základních kláves bez toho, aby uživatel musel tisknout klávesy <Alt>, <Ctrl> nebo jiné speciální klávesy. Komplikovanější editovací operace jsou tvořeny posloupností jednodušších příkazů (např. dw vymaže jedno slovo, c2fa změní text od pozice kurzoru až do místa, na kterém je druhé „a“). Pro zkušené uživatele to znamená výrazné zrychlení práce. Není potřeba vůbec sundávat ruku z klávesnice.
První verze vi neměly vůbec žádnou indikaci aktuálního módu. Jedinou možností bylo stisknout klávesu Escape a přejít do příkazového módu. Pokud už program v příkazovém módu byl, ozvalo se pípnutí. Současné verze vi již aktuální mód označují. Grafické implementace vi (např. gvim) plně podporují práci s myší a přístup k menu.
Editor vi se stal standardem UNIXových editorů. V každé instalaci UNIXu obvykle je k dispozici editor vi, jeho klon nebo nástupce Vim. Editor vi je i dnes používán celou řadou uživatelů operačních systému UNIX. Díky náročnosti se vi naučit je vi „přátelský“ software. Své přátele si pečlivě vybírá na rozdíl od promiskuitního software, který si zadá s každým. Těm, kdo se vi(m) naučí, slouží pak věrně desítky let.
při vkládání nového textu bude každá nová řádka odsazeno vlevo stejně jako předcházející
:set noai
vypnutí autoident
:set ignorecase
při hledání ingoruje rozdíl mezi velkým a malým písmenem
:set noi
vypnutí ignorecase
:set list
zobrazí tabelátory jako ^l a konce řádku jako $
:set nolist
vypnutí list
:set number
před řádky se vypíšou jejich pořadová čísla
:set nonu
vypnutí number
...
seznam parametrů není kompetní
Každý uživatel si může trvale nakonfigurovat editor vi podle vlastních potřeb. Buď pomocí konfiguračního souboru .exrc v domovském adresáři, nebo pomocí proměnné EXINIT. (pro ViM se používá i .vimrc)
Příklad:
.exrc
" libovolný komentář
set ignorecase number
abbrev retrun return
abbrev exit exit(0);
Vi lze použít jako unixový pager, stejně jako more nebo less, např. oblíbená je možnost zobrazit výstup z terminálu v novém okně gvimu - ps ax |gvim - (pozor na pomlčku). Editací nastavení programu man lze dosáhnout stejného výsledku i pro unixové manuálové stránky.