 |
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:
- proměnná prostředí
VIMINIT
- 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
- proměnná prostředí
EXRC
- 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:
- provádět externí příkazy
- zapisovat do souborů
- definovat automatické příkazy (kterými by se daly zlé příkazy odložit na
později)
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 backspace=2
set expandtab
set exrc
set secure
set gdefault
set history=100
set hlsearch
set ignorecase
set nojoinspaces
set ruler
set shiftwidth=3
set showcmd
set showmatch
set smartindent
set smarttab
set textwidth=79
set visualbell
noremap Q gq
map :split
map :w^M
au BufNewFile *.htm so $VIM/edhtml.vim
au BufReadPre *.htm so $VIM/edhtml.vim
au BufNewFile *.tex so $VIM/edtex.vim
au BufReadPre *.tex so $VIM/edtex.vim
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.
© 1997, 1998 Pavel Satrapa
|