Slobodný, otvorený a multiplatformový textový editor Vim je program určený pre príkazový riadok, a tiež existuje v grafickom používateľskom rozhraní (GUI). Vim vychádza z unixového editora Vi, ktorý vytvoril Bill Joy v roku 1976. Názov Vim znamená “Vi IMproved” (vylepšený Vi) a jeho autor, holandský programátor Bram Moolenaar, ho prvýkrát zverejnil v roku 1991.
Vim dodnes patrí medzi najpopulárnejšie textové editory predovšetkým v komunite programátorov a systémových administrátorov. Dokonca aj v jeho modernejšej alternatíve VSCode je možné nainštalovať Vim ako rozšírenie, ktoré umožní používať klávesové skratky a režimy editora Vim. Ak si teda Vim chcete vyskúša, ale používate VSCode, stačí nainštalovať spomínané rozšírenie.
Inštalácia
Keďže Vim je multiplatformový textový editor s otvoreným zdrojovým kódom, môžeme ho ľahko nainštalovať prakticky na ktorejkoľvek linuxovej distribúcii. V prípade Ubuntu stačí bežná kombinácia príkazov:
sudo apt update && sudo apt install -y vim
Netradičná navigácia
Editor Vim bol vyvinutý na počítači, ktorý na klávesnici ešte nemal šípky, a tak spočiatku funkciu šípky hore nahradil kláves k, šípku dole kláves j, šípku doľava kláves h a šípku doprava kláves l (malé písmeno L). Výhoda takejto zámeny kláves spočíva v tom, že nemusíme prsty presúvať zo základného riadku na šípky a neplytváme tak časom pri navigácii v texte. Dnes však už fungujú aj šípky a spolu s ostatnými klávesovými skratkami v troch najčastejšie používaných režimoch je možné Vim ovládať veľmi efektívne a rýchlo.
Režimy (modes)
Vim má 3 režimy, v ktorých je možné vykonávať určité akcie. Tieto režimy zapríčiňujú, že zaučenie začiatočníka trvá pomerne dlho, no po ich zvládnutí získame efektívny a rýchly nástroj na pokročilú prácu s textom. Ide teda o tieto 3 režimy:
- Základný (príkazový) režim – v tomto režime je možné zadávať príkazy na prácu s textom
- Vkladací režim – v tomto režime môžeme text pridávať
- Vizuálny režim – v tomto režime môžeme text označovať
Postupne si prakticky predstavíme všetky 3 režimy v konfiguračnom súbore editora Vim (~/.vimrc). Po prvom spustení sa Vim zobrazí s prednastavenými možnosťami. Zmeníme niektoré nastavenia editora Vim v editore Vim:
vim ~/.vimrc
Editor Vim súbor otvorí v základnom režime. V tomto režime ale nie je možné text pridávať, preto klávesom i (ako insert – vložiť) vo Vime aktivujeme vkladací režim. Skopírujeme a vložíme tieto riadky:
syntax on
set cursorline
set encoding=utf-8
set incsearch
set number
set wrap
Stavový riadok si môžeme nastaviť podľa vlastných predstáv za pomoci online generátora na adrese tdaly.co.uk/projects/vim-statusline-generator. V prípade nejasností stačí kliknúť na tlačidlo “Powerline-style Statusline” a skopírovať text na konci stránky do konfiguračného súboru editora Vim.
Klávesom esc sa vrátime do základného režimu. V tomto režime zmeny v súbore uložíme. Ukladanie zmien v editore Vim je podobne netradičné ako navigácia. V základnom režime napíšeme dvojbodku a malé písmeno w (ako write – zapísať) :w a stlačíme kláves Enter. Takto sme uložili zmeny v otvorenom súbore. Ak súbor chceme zatvoriť, zariadime to opäť dvojbodkou a klávesom q (ako quit – ukončiť) :q a stlačíme kláves Enter.
Oba príkazy (w aj q) môžeme kombinovať do jedného príkazu :wq a stlačíme kláves Enter. Takto Vim uloží zmeny a následne súbor zatvorí. Pridaním výkričníka za malé písmeno q (:q!) dosiahneme, že Vim vynúti zatvorenie súboru bez uloženia zmien.
V základnom režime ešte môžeme použiť tieto príkazy, za ktorými opäť stlačíme kláves enter:
- w – kurzor sa posúva dopredu po slovách
- b – kurzor sa posúva dozadu po slovách
- gg – kurzor sa presunie na začiatok súboru
- G – kurzor sa presunie na koniec súboru
- x – vymaže písmeno pred kurzorom
- dd – vymaže celý riadok, v ktorom je kurzor
- cc – nahradí celý riadok (vymaže riadok, nechá ho prázdny a prepne do vkladacieho režimu)
- u – vráti poslednú zmenu (undo)
- ctrl + r – znova vykoná vrátenú zmenu (redo)
- /text – vyhľadá text zhora nadol
- ?text – vyhľadá text zdola nahor
- n – presunie kurzor na ďalší výskyt nájdeného textu
- N – presunie kurzor na predošlý výskyt nájdeného textu
- :%s/text1/text2/ – text1 zamení za text2
- esc – návrat do základného režimu
Už vieme, že obsah súboru je možné meniť v základnom režime, a tiež vo vkladacom režime. Vizuálny režim ponúka možnosť označiť text, s ktorým následne môžeme pracovať za pomoci týchto klávesových skratiek:
- v – prepne do vizuálneho režimu s označením textu po písmenách
- V – prepne do vizuálneho režimu s označením textu po riadkoch
- Ctrl + v – prepne do vizuálneho režimu s označením textu v bloku
- šípky – posúvanie kurzora s cieľom označiť text, s ktorým následne môžeme vykonať tieto zmeny:
- y – skopíruje označený text
- p – vloží skopírovaný text (v základnom režime)
- d – vymaže označený text
- esc – návrat do základného režimu
Ako si Vim osvojiť poriadne
Osvojeniu editora Vim je potrebné venovať pomerne veľa času, pretože ovládanie Vimu sa od ostatných bežne používaných textových editorov zásadne líši. Zvládnuť režimy, príkazy a klávesové skratky teda vyžaduje cvičenie na texte, najlepšie priamo v praxi.
Všetky spomenuté režimy, príkazy a klávesové skratky si môžeme vyskúšať aj v prepracovanom interaktívnom návode, ktorý sa nainštaloval spolu s editorom Vim. Stačí spustiť príkaz vimtutor
(nie v editore Vim, ale v príkazovom riadku), ktorý v editore Vim zobrazí text v reči nainštalovaného operačného systému:
vimtutor
Tiež interaktívny návod, ale vo webovom prehliadači, môžeme absolvovať vďaka otvorenému projektu na adrese openvim.com. Hravú formu výučby zvolil projekt vim-adventures.com, čím Vim ešte viac priblížil začiatočníkom.
Zhrnutie
Textový editor Vim ponúka komplexný nástroj pre profesionálnu prácu s textom. Často ho používajú programátori či systémoví administrátori. V tomto návode sme ponúkli rýchly základný prehľad možností editora Vim, vďaka ktorému dokáže Vim používať aj začiatočník.