☰ menu
Pavel Satrapa

Konfigurační soubory

Každý slušný program lze konfigurovat. Cílem je, aby uživatel mohl upravovat jeho chování a vybrat z nabízených možností ten model, který mu vyhovuje nejlépe.

V případě vim je konfigurace několikaúrovňová a vychází z konfiguračních souborů. Jedná se o běžné textové soubory, obsahující příkazy vim (jedná se o Ex-příkazy, tedy takové, které zapisujete na příkazový řádek). Při startu editoru dojde k jejich automatickému provedení, jako byste je pokaždé napsali na klávesnici. Jediným rozdílem je, že do konfiguračních souborů se příkazy zapisují bez úvodní dvojtečky.

Pracujete-li v Unixu, načte se nejprve systémový konfigurační soubor. Jeho jméno vám sdělí výstup příkazu :version, nicméně zpravidla se jedná o /usr/share/vim/vimrc nebo /usr/local/share/vim/vimrc. Tento soubor udržuje správce systému a nastavení z něj jsou globální pro všechny. Je vhodné zahájit jej příkazem set nocompatible, jinak se bude zpracovávat v režimu kompatibilním s vi.

Následuje uživatelská konfigurace, která může pocházet ze čtyř míst. Použije se první existující místo, zbylá jsou ignorována:

  1. proměnná prostředí VIMINIT,
  2. uživatelský soubor vimrc, jeho jméno také prozradí :version, nicméně bývá to $HOME/.vimrc, $HOME/_vimrc či (v MS-DOSu) $VIM/_vimrc,
  3. proměnná prostředí EXRC,
  4. uživatelský soubor exrc.

Třetím krokem pak může být inicializace lokální pro adresář. Její přípustnost řídí volba exrc. Pokud je zapnuta (:set exrc), hledá v aktuálním adresáři soubory .vimrc, _vimrc, .exrc či _exrc. První existující použije, ostatní ignoruje.

Při vypnuté volbě exrc (což je implicitní stav) se na tyto lokální soubory nebere ohled. Důvodem je pochopitelně bezpečnost. Pomocí vykřičníku můžete totiž v rámci inicializace spustit i externí příkazy. Kdybyste si pak editor spustili v aresáři, ve kterém někdo připravil destruktivní falešný inicializační soubor, mohli byste splakat nad výdělkem.

Druhou úroveň ochrany před nebezpečnými lokálními konfiguracemi představuje volba secure. Když už pomocí :set exrc povolíte lokální konfigurace, uvažujte o omezení jejich možností pomocí :set secure. Pokud je tato volba zapnuta (implicitně není), je v lokálních konfiguračních souborech zakázáno:

Navíc se zobrazují provedené mapovací příkazy. Před ošklivostmi jste tedy poměrně slušně chráněni.

Jak je vidět, autoři vi se zabývali ochranou před makroviry již v době, kdy jistí nejmenovaní vizionáři ještě neměli tušení, co to je textový editor.

Příklad:

Můj konfigurační soubor vypadá asi takto:

set nocompatible
set exrc
set history=1000
set backspace=2
set nojoinspaces
set ruler
set showcmd
set showmatch
set hlsearch
set smartindent
set shiftwidth=4
set smarttab
set expandtab
set textwidth=79
set wildmenu

set background=dark

syntax on

Pokud startuje verze editoru pro grafické uživateské rozhraní, následuje ještě jeho inicializace. Víceméně se opakuje výše popsaný postup, ale jako jméno souboru se místo vimrc používá gvimrc. Podrobnější popis najdete v kapitole o grafické verzi editoru.