Jak ukončit editor Vi nebo Vim

Editor vi je matoucí, pokud na něj nejste zvyklí. Chcete-li uniknout z této aplikace, musíte do ní narazit tajným podáním ruky. Zde je návod, jak ukončit vi nebo vim na Linuxu, macOS nebo jakémkoli jiném systému podobnému Unixu.

Rychlá odpověď

Pokud jste ve vi nebo vim a potřebujete se dostat ven – s uložením změn nebo bez nich – postupujte takto:

Nejprve několikrát stiskněte klávesu Esc. Tím zajistíte, že vi bude mimo režim vkládání a v režimu příkazů.
Zadruhé zadejte :q! a stiskněte Enter. To říká vi, aby skončil bez uložení změn. (Pokud chcete změny uložit, zadejte místo toho :wq.)

Pokud se chcete naučit příkazový řádek Linuxu, budete muset vědět mnohem víc. Čtěte dál a my vám ukážeme, jak vi funguje a proč jsou pokyny k odvykání tak neobvyklé. vi je důležitý, mocný nástroj a křivka učení stojí za to.

vi, Všudypřítomný editor

Protože vi je všude, je pravděpodobné, že proti ní narazíte. Dokonce se uvnitř vi můžete ocitnout náhodou. Možná vás někdo požádá, abyste se mu podívali na jeho počítač se systémem Linux. Vydáte příkaz jako crontab -e a objeví se vi. Překvapení, někdo nakonfiguroval výchozí editor pro crontab tak, aby byl vi.

Možná spravujete systém, kde je vi jediným editorem nebo jediným, který bude fungovat prostřednictvím vzdálené relace SSH, a potřebujete upravit soubor .bashrc uživatele.

Příkaz ke spuštění vi a otevření souboru je přímočarý. Zadejte vi , mezeru a poté název souboru. Stiskněte Enter. Spuštěný program může být vi nebo to může být vim, ‚vylepšené vi‘. Záleží na vaší distribuci Linuxu – například Ubuntu používá vim . Všechny pokyny v tomto článku platí stejně pro vim.

 vi .bashrc

Okamžitě znatelný rozdíl mezi vi a ostatními editory je v tom, že když se vi spustí, nemůžete jen tak začít psát text. To proto, že vi je modální editor. Úpravy se provádějí v jednom režimu, v režimu vkládání, a vydávání příkazů se provádí v režimu příkazů. vi se spustí do příkazového režimu.

Pokud neznáte koncept režimu vkládání a režimu příkazů, může to být matoucí. Mnoho příkazů, které můžete zadat v příkazovém režimu, ovlivňuje soubor, který píšete. Pokud jste v příkazovém režimu, ale omylem se pokoušíte zadat text do souboru, neskončí to dobře. Některé úhozy, které vydáte, budou rozpoznány jako příkazy. Tyto příkazy mohou smazat nebo rozdělit řádky, přesunout kurzor nebo odstranit text.

A bez ohledu na to, co píšete, nemůžete najít způsob, jak ukončit nebo ukončit editor. Mezitím je váš soubor pěkně rozbitý a zdánlivě náhodné pípání vás přivádí k šílenství.

Režim příkazů a režim vkládání

Musíte přepnout vi do vhodného režimu pro to, čeho se snažíte dosáhnout.

Příkazový režim je výchozí režim při spuštění vi. Pokud nevíte lépe, začnete zkoušet psát. Pokud náhodou stisknete klávesu „i“ nebo kteroukoli z dalších 10 kláves, které vyvolají režim vkládání (a, A, c, C, I, o, O, R, s a S), najednou uvidíte, co píšeš. Nyní jste v režimu vkládání.

To se může zdát jako pokrok, dokud nestisknete jednu z kláves se šipkami. Pokud to uděláte, A, B, C nebo D se objeví jako jediné písmeno na jinak prázdném novém řádku. V horní části souboru.

To je v pořádku, držíme ti záda. To je překvapivě snadné, když víte jak. Pamatujte si tyto dvě klávesové zkratky: Esc vás přenese do příkazového režimu a „i“ vás přenese do režimu vkládání.

K opuštění editoru musíte být v příkazovém režimu a zadat správný příkaz.

Od příkazového režimu po bezpečnost

Chcete-li vstoupit do příkazového režimu, stiskněte klávesu Esc. Nic viditelného se nestane. Zasáhněte to ještě několikrát. Pokud po stisknutí klávesy Escape uslyšíte pípnutí, jste v příkazovém režimu. Pípnutí vám říká: „Přestaňte mačkat Esc, už jste v příkazovém režimu.“ Pokud uslyšíte pípnutí, když stisknete Esc, jsme v pořádku.

Zadejte dvojtečku, písmeno „q“ a vykřičník bez mezer. Tyto tři znaky by se měly objevit zcela vlevo na spodním řádku terminálu. Pokud ne, stiskněte Esc, dokud neuslyšíte pípnutí, a zkuste to znovu. Až je uvidíte, stiskněte klávesu Enter:

:q!

V tomto příkazu q je zkratka pro quit . Vykřičník dodává důraz, takže je to, jako byste křičeli „Konec!“ při vi. Možná se díky tomu budete cítit trochu lépe.

Vykřičník také říká vi, aby neukládala žádné změny, které jste v souboru provedli. Pokud jste se pletli ve vi a nevěděli jste, co děláte, pravděpodobně nechcete zachránit zmatek, který jste způsobili.

Jakmile se vrátíte na příkazový řádek, možná budete chtít znovu zkontrolovat, zda soubor nebyl změněn. Můžete to udělat pomocí následujícího příkazu:

cat .bashrc | less

Když opouštíte vi a uvidíte zprávu „nezapisovat od poslední změny“, znamená to, že jste přehlédli vykřičník u příkazu. Abyste zabránili ukončení a ztrátě jakýchkoli změn, které byste si chtěli ponechat, vi vám dává možnost je uložit. Stačí znovu vydat :q! příkaz s vykřičníkem opustit vi a opustit jakékoli změny.

Pokud jste si jisti, uložte změny

Pokud jste spokojeni se změnami, které jste v souboru provedli, můžete ukončit a uložit změny pomocí příkazu :wq (write and quit). Než budete pokračovat, ujistěte se, že jste zcela spokojeni s tím, že chcete zapsat úpravy obrazovky do souboru.

Napište dvojtečku, písmeno w (write) a písmeno q (quit). Až je uvidíte v levém dolním rohu terminálu, stiskněte klávesu Enter:

:wq

Křivka učení stojí za to

Používání vi je trochu jako používání klavíru. Nemůžete si jen sednout a použít to; musíš se trochu procvičit. Sedět za studena a zkoušet se učit za chodu, když je na vás tlak, abyste něco upravili, není způsob, jak to udělat. Dává to stejný smysl, jako když se poprvé posadíte ke klavíru právě ve chvíli, kdy se zvedne opona vašeho inauguračního koncertu.

Velká část síly vi pochází z mnoha kombinací kláves, z nichž každá provádí společný úkol úprav. To je skvělé, ale nemůžete z nich těžit, dokud si je nezapamatujete, neprocvičíte a nebudou součástí vaší svalové paměti.

Do té doby, pokud se ocitnete ve vi a díváte se na důležitý soubor, stačí :q! a elegantně odejít. Váš důležitý soubor vám poděkuje.