Manuál: Vim

Veľmi populárny textový editor. Je dostupný všade a tým umožňuje pracovať z ľubovoľného počítača, ktorý má aspoň možnosť vzdialeného pripojenia. Umožňuje rôzne úpravy vo forme pluginov, ktorých je dostupných ozaj mnoho. Vyžaduje znalosť klávesových skratiek a jeho učenie môže byť dlhší proces.

Výbornou príležitosťou ako sa zoznámiť so základmi je voľne dostupný ebook „Vim for humans“ od Vincenta Jousse (možné stiahnuť aj bez príspevku).

Agresívnym stláčaním ESC a napísaním :q! Enter sa vim zatvorí (možno).

Vzhľad s ukážkovými nastaveniami
Vzhľad s ukážkovými nastaveniami

Instalace

Vim na Ubuntu nainstalujeme příkazem:

sudo apt install vim

Nastavenie, vimrc

Konfigurácia vimu sa načíta zo súborov ~/.vimrc prípadne ~/.vim/vimrc, ak existujú. V adresári ~/.vim/ často nájdeme aj iné súbory pre vim, napríklad farebné témy v colors.

Pre predmet sme pripravili ukážkový vimrc, ktorý nám nastaví základné veci, farby a okrem toho aj jednoduché zvýrazňovanie syntaktických chýb:

  1. vimrc stiahneme do adresára ~/.vim/ pomocou web get:

    wget -P ~/.vim/ https://www.fi.muni.cz/pb071/man/for-students/vimrc --backups=5
  2. Na zvýrazňovanie chýb potrebujeme vim aspoň verzie 8, na Aise potrebujeme aktivovať modul. Ak máme ale starší vim, nič sa nestane, iba nebude fungovať zvýrazňovanie. Verziu prípadne zistíme príkazom vim --version.

  3. Nainštalujeme správcu pluginov Plug:

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  4. Vim spustíme, mal by sa okrem iného sťažovať, že mu chýba farebná téma a vyžadovať Enter. Akonáhle sa nám vim zobrazí, ručne napíšeme nasledujúce (zobrazuje sa vľavo dole):

    :PlugInstall
  5. Počkáme, kým Plug nainštaluje pluginy a okno môžeme zatvoriť pomocou vim príkazu :q.

Zvýrazňovanie chýb nám zabezpečuje plugin ALE, nie je ale dokonalé – občas budeme mať vďaka chybám označený aj iný riadok. Dôležité je zamyslieť sa, čo chybu naozaj spôsobuje.

Vim ako predvolený editor (napríklad pre git) nastavíme príkazom:

printf "export VISUAL=vim\nexport EDITOR='\$VISUAL'\n" >> ~/.bashrc

Ovládanie

Režimy

ESC normal mode, zadávame v ňom príkazy pre vim
i    insert mode, umožní nám písať na mieste kurzoru
   o obdobne, ale vytvorí nový riadok za aktuálnym
v    visual mode, umožní nám vybrať text (pohyb ako obvykle) a manipulovať s ním príkazmi
V    visual line mode, vyberá celé riadky

Pohyb

Bez použitia šípiek

Slová

h j ↓ ↑ k l

w na (nasledujúci) začiatok slova
e koniec slova

Vyhľadávanie

Riadky

/<vyhľadávaný text>
n prejde na ďalší výskyt
N prejde na predchádzajúci výskyt

0 začiatok riadku
$ koniec riadku

gg prvý riadok
<n>G n-tý riadok
G posledný riadok

Príkazy (zadávajú sa v normal mode)

Súbor

Písanie

:w uloží súbor (write)
:q zatvorí súbor (quit)
:q! zahodí neuložené zmeny a zatvorí súbor
:wq alebo ZZ uloží a zatvorí súbor
:make spustí kompiláciu
Na vykonanie príkazu v termináli mimo vimu môžeme zadať :!<príkaz>, napríklad :!cmake ..

x zmaže znak
dd zmaže celý riadok
yy skopíruje riadok (yank)
p prilepí za kurzor
u vráti späť zmeny (undo)
Ctrl+r vráti späť odstránené zmeny (redo)
. zopakuje príkaz
Ctrl+šípka posúva riadok alebo celý označený text (podľa režimu) — toto je nastavené naším vimrc

Kombinácie (v normal mode)

Ako?

Príklady

operátor [číslo] pohyb

operátor   čo vykonať, napr. d, x, y…​
[číslo]   voliteľné, opakuje pohyb
pohyb   nad ktorým textom sa príkaz vykoná, napr. w na ďalšie slovo, $ do konca riadku

2w posunie kurzor o 2 slová ďalej
3e posunie kurzor na koniec 3. nasledujúceho slova
dw zmaže znaky až po nasledujúce slovo
d2w zmaže nasledujúce dve slová
10dd zmaže 10 riadkov