☰ menu
Pavel Satrapa

Spuštění a ukončení programu

Začnu problematikou ryze praktickou: jak se do vim pustit a jak se ho později zbavit.

Start programu

Na spuštění vim nenajdete žádné neobvyklosti. Startuje se příkazem vim, kterému jako parametr předáte jméno editovaného souboru. Pokud existuje, otevře se a vy uvidíte jeho obsah na obrazovce. Jestliže soubor neexistuje, zahájí editor svou činnost s prázdným textem. Když nějaký vytvoříte a dáte příkaz k jeho uložení, dotyčný soubor bude založen.

Pracujete-li v grafickám prostředí, doporučuji místo vim použít raději gvim a spustit grafickou verzi.

Vzhled prázdného textu vás možná poněkud zarazí. vim totiž rozlišuje prázdný řádek (neobsahuje žádné znaky nebo jen mezery a tabelátory) od neexistujícího řádku (v souboru není a na obrazovce se vyskytl jen proto, že soubor již skončil, ale obrazovka ještě ne). Prázdné řádky zobrazuje skutečně jako prázdné řádky. Naproti tomu řádky dosud neexistující vyznačuje znakem „vlnka“ (~) v prvním sloupci. Nový soubor (neobsahující žádný text) proto ve vim vytvoří obrazovku, jejíž první sloupec obsahuje samé vlnky.

Konec programu

Jednou z roztomilých vlastností vim je, že neznalý uživatel v podstatě nemá šanci jej korektně ukončit. Žádné z oblíbených fint typu Esc, Alt-X, F10 a podobně zde nefungují.

Základním příkazem pro ukončení je :q (lze psát i kompletní :quit, ale kdo by to dělal). Zatím jsem nemluvil o režimech práce editoru, takže berte jako dogma, že z normálního režimu (to je ten, v němž se ocitnete po spuštění programu) musíte stisknout dvojtečku (tím se ocitnete na spodním řádku a dvojtečka se objeví jako jeho první znak) následovanou znakem q. Příkaz odešlete klávesou [Enter].

Ovšem takové ukončení vám projde pouze v případě, že jste v textu neprovedli žádné změny. Jinak skončíte s chybovým hlášením

No write since last change (use ! to override)

Říká, že poslední změny v souboru nemáte uloženy. Vás další postup závisí na tom, zda je chcete uložit nebo ne.

Ukončení s uložením změn

Klasický postup velí nejprve uložit změny příkazem :w (též :write) a poté ukončit editor pomocí :q. Oba příkazy můžete sloučit do jednoho společného :wq.

Jelikož je tato varianta poměrně častá, byla pro ni vytvořena ještě jedna zkratka. Pokud v normálním režimu zadáte ZZ (dvě velká „Z“), provede se „inteligentní ukončení“. Pokud byl soubor změněn, uloží se. Poté editor ukončí svou činnost. Ve většině případů ukončuji editor právě tímto způsobem.

Ukončení bez ukládání změn

Jestliže změny nechcete uložit na věky věkův, použijte příkaz :q!. Ostatně hned v chybovém hlášení vám vim napovídá, že když si na něj dupnete připojením vykřičníku za příkaz, přestane protestovat a akci vykoná.

Obdobně lze vykřičníkem přehlušit protesty i v několika dalších situacích.