Editor vi
V době rozmachu integrovaných vývojových prostředích, které oplývají více či méně povedených GUI, je zdánlivě nelogické věnovat pozornost textovému editoru zdrojového kódu. Nicméně textový editor vi je velmi používaný na většině Unixových systému, Linux nevyjímaje. Z našeho pohledu je zajímavý ale především tím, že jeho omezená verze bývá velmi často také součástí linuxové distribuce pro cílová zařízení. Zvláště, pokud je tato distribuce postavena na Busyboxu.
Je proto nasnadě, že základy ovládání tohoto editoru by měl zvládnout každý vývojář, který se pohybuje se ve světě Linuxu a embedded systémů a který tu tam potřebuje přímo na cílovém zařízení upravit nějaký konfigurační soubor či skript.
Pojďme si velmi stručně popsat ovládání textového editoru vi.
Spuštění
Editor vi spustíme příkazem:
$ vi NazevSouboru
Pokud daný soubor neexistuje, tak jej editor vi vytvoří.
Režimy
Editorvihttp://cs.wikipedia.org/wiki/Vi má tři základní režimy: příkazový, rozšířený příkazový a vkládací. Příkazový režim je výchozím po spuštění editoru a je základním režimem, z kterého lze přejít do ostatních dvou režimů.
Přepínání režimů:
- Esc - návrat do příkazového režimu
- I, i - přechod z příkazového do vkládacího režimu (to samé způsobí další příkazy pro vkládací režim)
- : - přechod z příkazového do rozšířeného příkazového režimu
Povšimněme si, že nelze přímo přejít z editačního do rozšířeného příkazového režimu a naopak.
Příkazy
Níže uvádíme seznam příkazů členěný podle režimů, v kterém jsou příkazy dostupné.
V tomto režimu je možné obsah souboru prohlížet a upravovat.
Základní příkazy pro pohyb po textu:
- k, příp. šipka_nahoru - posun o řádek nahoru
- j, příp. šipka_dolů - posun o řádek dolů
- l, příp. šipka_vpravo - posun o znak doprava
- h, příp. šipka_vlevo - posun o znak doleva
- $ - posun na konec řádku
- 0 - posun na začátek řádku
- G - posun na konec souboru
- Ctrl + f - posun o stránku dolů (ke konci souboru)
- Ctrl + b - posun o stránku nahoru (k začátku souboru)
Základní příkazy pro výmaz a opravu existujícího textu:
- x - maže znak na pozici kurzoru
- dd - výmaz aktuální řádky
- dpozice - maže text od aktuální pozice po zadanou pozici, např.:
- d$ výmaz od aktuální pozice do konce řádku
- dG výmaz od aktuální pozice do konce souboru
- 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. vymazání znaku konce řádky).
Práce se schránkou:
- yy - uložení aktuálního řádku do schránky
- ypozice - uložení textu do schránky od aktuální pozice po zadanou pozici, např.:
- y$ uložení textu od aktuální pozice do konce řádku
- p - vložení textu ze schránky za pozici kurzoru (paste)
- P - vložení textu ze schránky před pozici kurzoru
Vkládací režim umožňuje vkládání nového znaku. Následující příkazy způsobí automatické přepnutí do vkládacího režimu.
Příkazy:
- a - vkládání znaků za pozici kurzoru (append)
- A - vkládání znaků na konec řádku
- i - vkládání znaků na pozici kurzoru (insert)
- I - vkládání znaků na začátek řádky
- R - režim přepisování znaků
V tomto režimu nelze používat šipky. Klávesa Backspace maže předcházející znak.
Tento mód je určen pro zadávání složitějších příkazů.
- w - uloží změny do souboru (write)
- q - ukončí editor (quit)
- q! - ukonči editor bez uložení změn
- wq - zapíše změny a ukončí editor (stejné jako sekvence w a q)
- r soubor - načte text ze souboru do oblasti editace za aktální řádek