Konfiguracni soubory

Kazdy slusny program lze konfigurovat. Cilem je, aby uzivatel mohl upravovat jeho chovani a vybrat z nabizenych moznosti ten model, ktery mu vyhovuje nejlepe.

V pripade vim je konfigurace nekolikaurovnova a vychazi z konfiguracnich souboru. Jedna se o bezne textove soubory, obsahujici prikazy vim (jedna se o Ex-prikazy, tedy takove, ktere zapisujete na prikazovy radek). Pri startu editoru dojde k jejich automatickemu provedeni, jako byste je pokazde napsali na klavesnici. Jedinym rozdilem je, ze do konfiguracnich souboru se prikazy zapisuji bez uvodni dvojtecky.

Pracujete-li v Unixu, nacte se nejprve systemovy konfiguracni soubor. Jeho jmeno vam sdeli vystup prikazu :version, nicmene zpravidla se jedna o /usr/sharevim/vimrc nebo /usr/local/sharevim/vimrc. Tento soubor udrzuje spravce systemu a nastaveni z nej jsou globalni pro vsechny. Je vhodne zahajit jej prikazem set nocompatible, jinak se bude zpracovavat v rezimu kompatibilnim s vi.

Nasleduje uzivatelska konfigurace, ktera muze pochazet ze ctyr mist. Pouzije se prvni existujici misto, zbyla jsou ignorovana:

  1. promenna prostredi VIMINIT
  2. uzivatelsky soubor vimrc, jeho jmeno take prozradi :version, nicmene byva to $HOME/.vimrc, $HOME/_vimrc ci (v MS-DOSu) $VIM/_vimrc
  3. promenna prostredi EXRC
  4. uzivatelsky soubor exrc

Tretim krokem pak muze byt inicializace lokalni pro adresar. Jeji pripustnost ridi volba exrc. Pokud je zapnuta (:set exrc), hleda v aktualnim adresari soubory .vimrc, _vimrc, .exrc ci _exrc. Prvni existujici pouzije, ostatni ignoruje.

Pri vypnute volbe exrc (coz je implicitni stav) se na tyto lokalni soubory nebere ohled. Duvodem je pochopitelne bezpecnost. Pomoci vykricniku muzete totiz v ramci inicializace spustit i externi prikazy. Kdybyste si pak editor spustili v aresari, ve kterem nekdo pripravil destruktivni falesny inicializacni soubor, mohli byste splakat nad vydelkem.

Druhou uroven ochrany pred nebezpecnymi lokalnimi konfiguracemi predstavuje volba secure. Kdyz uz pomoci :set exrc povolite lokalni konfigurace, uvazujte o omezeni jejich moznosti pomoci :set secure. Pokud je tato volba zapnuta (implicitne neni), je v lokalnich konfiguracnich souborech zakazano:

  • provadet externi prikazy
  • zapisovat do souboru
  • definovat automaticke prikazy (kterymi by se daly zle prikazy odlozit na pozdeji)
Navic se zobrazuji provedene mapovaci prikazy. Pred osklivostmi jste tedy pomerne slusne chraneni.

Jak je videt, autori vi se zabyvali ochranou pred makroviry jiz v dobe, kdy jisti nejmenovani vizionari jeste nemeli tuseni, co to je textovy editor.

Priklad:
Muj konfiguracni soubor vypada 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 graficke uzivateske rozhrani, nasleduje jeste jeho inicializace. Vicemene se opakuje vyse popsany postup, ale jako jmeno souboru se misto vimrc pouziva gvimrc. Podrobnejsi popis najdete v kapitole o graficke verzi editoru.

<-- predchozi  [obsah]  dalsi -->
© 1997, 1998 Pavel Satrapa