Pokud bychom potřebovali nějaký soubor upravit, popř. vytvořit nový soubor s nějakým obsahem, budeme potřebovat textový editor.
V profesionálním světe linuxové příkazové řádky se pro tyto případy nejčastěji
používá editor vim
. Důležité je vědět, že editor Vim
se svým ovládáním významně liší od běžných textových editorů, se kterými jste
se doposud nejspíše setkali při psaní a editaci nějakého kódu (např. Visual
Studio Code nebo Sublime
Text)
Editor Vim je profesionální nástroj a je nutné věnovat určitý čas naučení se s ním pracovat. Odměnou nám bude mnohem efektivnější a rychlejší editace textových souborů (požadované operace lze vykonat mnohem rychleji za použití menšího počtu úhozů). Výhody vznikají pouze při psaní 10 prsty bez sledování klávesnice.
Běžné textové editory obsahují jediný mód použití, a to režim vkládání textu (zmáčknutá posloupnost písmen daný text napíše do okna editoru). O pohyb kurzoru se v běžných editorech starají kurzorové šipky, navigační blok Home, End, PageUP, PageDown, popř. ještě s klávesou Ctrl. Mnoho činností lze vykonat pomocí myši.
Editor Vim vznikl jako následovník staršího editoru Vi, který se používal na UNIXových systémech vybavených monitorem. Klávesnice u terminálů tehdy běžně neměly kurzorové šipky ani navigační klávesy. Proto vznikl editor, který má oddělené režimy vkládání textu od režimu pohybu kurzoru a manipulace s textem.
U vimu rozlišujeme 3 hlavní režimy práce:
Editor Vim spustíme příkazem vim
. Zobrazí se nám "Welcome screen", kde si
můžeme povšimnout dobré rady, jak editor vlastně ukončit. Editor zavřeme
vstupem do příkazového módu pomocí dvojtečky : následované příkazem
q a Enter.
Pokud editor není nainstalovaný, spusť následující příkaz k jeho instalaci:
$ sudo dnf install vim -y
Následně budeš vyzvána k zadání hesla, napiš jej do příkazové řádky a stiskni Enter. Neboj se, že se heslo nezobrazuje.
Vyzkoušej si několikrát otevřít a bezpečně zavřít prázdný editor Vim.
$ vim
1
~
~
~ VIM - Vi IMproved
~
~ version 8.2.3512
~ by Bram Moolenaar et al.
~ Modified by <bugzilla@redhat.com>
~ Vim is open source and freely distributable
~
~ Help poor children in Uganda!
~ type :help iccf<Enter> for information
~
~ type :q<Enter> to exit
~ type :help<Enter> or <F1> for on-line help
~ type :help version8<Enter> for version info
~
~
utf-8 unix [No Name] 0/1 1
Pokud chceme v editoru něco napsat, zmáčkneme klávesu i, která nás
přepne do INSERT módu. V tu chvíli klávesy dělají to, co od nich očekáváme -
text se zobrazuje v okně editoru. Znak tilda ~
zde znamená prázdný řádek.
1 Ahoj vime!
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
utf-8 unix [No Name] + 1/1 11
-- INSERT --
Do editoru napiš pár řádek textu:
Pokud jsme něco napsali, ale text nechceme ukládat do souboru, musíme Vim
ukončit příkazem :q!
, abychom dali najevo, že opravdu nechceme soubor
ukládat.
1 Ahoj vime!
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
utf-8 unix [No Name] + 1/1 10
:q!
V opačném případě musíme soubor uložit příkazem :w <název souboru>
.
1 Ahoj vime!
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
utf-8 unix [No Name] + 1/1 10
:w pozdrav.txt
Po ukončení editoru pomocí :q
si můžeme obsah souboru vypsat na terminál
$ cat pozdrav.txt
Ahoj vime!
Námi vytvořený soubor si můžeme opět otevřít ve Vimu tak, že název souboru zadáme jako parametr. Stejně můžeme otevřít ve Vimu i neexistující soubor a editor nám ho při uložení souboru vytvoří.
$ vim pozdrav.txt
Příkazy, které už umíme jako :w
a :q
je možné i zkombinovat do jednoho
:wq
.
Vyhledávání zapneme klávesou lomítko / v editačním módu a napíšeme
text, který chceme v souboru vyhledat. Na další výskyt vyhledávaného řetězce se
přesuneme pomocí n a na předchozí pomocí N. Toto funguje
stejně jako v programech less
a man
.
Vim je profesionální editor pro editaci programů a konfiguračních souborů. Je velmi ergonomický, protože při jeho používání není nutné, aby prsty opustily prostřední řadu klávesnice. Není nutné používat kurzorové šipky, navigační blok nebo myš. Pohyb kurzoru a editace existujícího textu se provádí v editačním módu (Normal mode).
Pokud ti editor Vim přijde děsivý, je důležité vědět, že po tobě nikdo nevyžaduje, abys ho používala výlučně. Pro dobrou znalost práce v linuxové příkazové řádce je však velmi vhodné znát alespoň minimum editoru Vim. Je důležité znát alespoň:
$ vim <název souboru>
:wq
Pro zájemce doporučuji vestavěný tutoriál
$ vimtutor
Pokud tě editor Vim zaujme a naučíš se s ním pracovat, odměnou ti bude mnohem vyšší rychlost úprav textových souborů, zdravější ergonomie práce na klávesnici a doživotní závislost na vimovském způsobu ovládání textového editoru 😄.