Jak ukončit editor Vi nebo Vim

Photo of author

By etechblogcz

Editor vi může být pro nováčky matoucí. Jeho ovládání se liší od běžných textových editorů a pro jeho opuštění je třeba znát specifický postup. V tomto článku se dozvíte, jak správně ukončit vi nebo vim v systémech Linux, macOS a dalších Unixových systémech.

Rychlé řešení

Pokud se nacházíte v editoru vi nebo vim a potřebujete ho opustit, ať už s uložením provedených změn nebo bez něj, postupujte podle následujících kroků:

Nejprve opakovaně stiskněte klávesu Esc. Tím zajistíte, že se editor vi přepne z režimu vkládání do režimu příkazů.
Následně zadejte :q! a potvrďte klávesou Enter. Tento příkaz ukončí vi bez uložení provedených změn. Pokud si naopak přejete změny uložit, zadejte místo toho :wq.

Pro efektivní práci s příkazovou řádkou Linuxu je nutné znát mnohem více. Pokračujte ve čtení, a my vám vysvětlíme, jak vi funguje a proč je jeho ukončení tak specifické. vi je mocný nástroj a jeho zvládnutí se rozhodně vyplatí.

vi, Všudypřítomný Textový Editor

Protože se vi nachází téměř všude, je velká šance, že se s ním setkáte. Můžete se do něj dostat i náhodou. Například, když budete spravovat systém a spustíte příkaz jako crontab -e, může se spustit vi. Některé systémy ho totiž mají nastavený jako výchozí editor pro určité akce.

Je také možné, že na vzdáleném serveru je vi jediným editorem, který můžete použít přes SSH, a potřebujete například upravit soubor .bashrc.

Spuštění vi a otevření souboru je jednoduché. Do příkazové řádky zadáte vi, mezeru a název souboru a stisknete Enter. Spustí se buď samotný vi, nebo jeho vylepšená verze vim. Záleží na distribuci Linuxu, kterou používáte. Například Ubuntu používá vim. Všechny instrukce uvedené v tomto článku platí pro oba editory.

vi .bashrc

Rozdíl mezi vi a jinými editory je patrný hned po spuštění. Nemůžete totiž hned začít psát text. Důvodem je, že vi pracuje v takzvaných režimech. Existuje režim vkládání, kde upravujete text, a režim příkazů, kde zadáváte příkazy. Po spuštění se vi automaticky přepne do režimu příkazů.

Pokud nejste seznámeni s konceptem těchto režimů, může být ovládání vi velmi matoucí. Příkazy zadané v režimu příkazů ovlivňují upravovaný soubor. Pokud se v režimu příkazů pokusíte psát text, výsledkem mohou být nechtěné změny v souboru. Některé klávesové zkratky jsou totiž rozpoznány jako příkazy, které mohou například mazat nebo dělit řádky, přesouvat kurzor nebo odstraňovat text.

A co je nejhorší, uživatel neví, jak editor opustit. Váš soubor se tak může stát zmateným a k tomu vás budou rušit náhodné pípání.

Režim Příkazů a Režim Vkládání

Pro efektivní práci s editorem vi je nutné přepínat mezi režimy podle toho, čeho chcete dosáhnout.

Příkazový režim je výchozí režim při spuštění editoru. Pokud se pokusíte ihned psát, nic se nebude dít. Ale stačí, když náhodně stisknete klávesu i nebo některou z dalších 10 kláves (a, A, c, C, I, o, O, R, s a S), a najednou se objeví to, co píšete. Takto se dostanete do režimu vkládání.

Může se to zdát jako úspěch, ale pokud se pokusíte použít kurzorové klávesy, objeví se na novém řádku pouze písmena A, B, C nebo D. Ale žádný strach, v dalším textu si ukážeme, jak z toho ven. Důležité je zapamatovat si tyto dvě klávesové zkratky: Esc vás přepne do režimu příkazů a klávesa i do režimu vkládání.

Pro opuštění editoru vi je nutné být v režimu příkazů a zadat správný příkaz.

Od Režimu Příkazů k Ukončení Editoru

Pro přepnutí do režimu příkazů stiskněte klávesu Esc. Nemusí se stát nic viditelného. Zkuste ji stisknout několikrát. Pokud se ozve pípnutí, jste v režimu příkazů. Pípnutí značí, že další stisknutí Esc už nemá smysl, jelikož už jste v režimu příkazů. Pokud při stisknutí Esc slyšíte pípnutí, můžete pokračovat.

Zadejte dvojtečku, písmeno q a vykřičník bez mezer. Tyto znaky se objeví v levé dolní části terminálu. Pokud se tam neobjeví, stiskněte opakovaně Esc, dokud neuslyšíte pípnutí, a poté to zkuste znovu. Jakmile se znaky objeví, stiskněte Enter.

:q!

V tomto příkazu q je zkratka pro quit (ukončit). Vykřičník pak přidává důraz. Je to jako když na vi zakřičíte „Konec!“. Možná se vám díky tomu uleví. Vykřičník navíc vi říká, aby neukládal žádné změny, které jste v souboru udělali. Pokud jste se v editoru ztráceli, pravděpodobně nechcete chaos, který jste způsobili, ukládat.

Po návratu do příkazového řádku se můžete ještě přesvědčit, že soubor nebyl změněn. Můžete to udělat pomocí následujícího příkazu:

cat .bashrc | less

Pokud při opouštění editoru vi uvidíte zprávu „nezapsáno od poslední změny“, znamená to, že jste zapomněli na vykřičník v příkazu. Abyste neztratili změny, které jste chtěli uložit, vi vám dá možnost tyto změny uložit. Pokud si však přejete editor opustit bez uložení změn, stačí znovu zadat příkaz :q! s vykřičníkem.

Uložení Změn Před Ukončením

Pokud jste spokojeni se změnami, které jste v souboru provedli, můžete editor ukončit a změny uložit pomocí příkazu :wq (write and quit). Před použitím tohoto příkazu se ujistěte, že si opravdu přejete změny uložit do souboru.

Zadejte dvojtečku, písmeno w (write) a písmeno q (quit). Jakmile se znaky objeví v levém dolním rohu terminálu, stiskněte klávesu Enter:

:wq

Vyplatí Se Trénovat

Používání vi je trochu jako učení se hrát na klavír. Nemůžete si jen tak sednout a začít ho ovládat. Je potřeba trénink. Zkoušet se ho učit v situaci, kdy jste pod tlakem, není dobrý nápad. Je to stejné, jako když si poprvé sednete ke klavíru až na svém inauguračním koncertu.

Síla editoru vi vychází z mnoha kombinací kláves, z nichž každá provádí specifickou úpravu textu. To je skvělé, ale nemůžete z toho těžit, dokud si tyto klávesové zkratky nezapamatujete a nezautomatizujete. Proto je potřeba pravidelný trénink.

Do té doby, pokud se ocitnete v editoru vi a potřebujete pracovat s důležitým souborem, stačí použít příkaz :q! pro jeho bezpečné opuštění. Váš soubor vám za to poděkuje.