☰ menu
Pavel Satrapa

Kontrola pravopisu

Od verze 7 má vim integrovánu kontrolu pravopisu. Pravda, kontrolovat pravopis bylo možné i dříve, používal se k tomu externí program v kombinaci se zvýrazňováním syntaxe. Kontrolu však bylo nutné ručně vyvolávat a nebylo to jaksi to pravé ořechové.

Nyní vim dokáže průběžně kontrolovat zadávaný text a neznámá slova okamžitě podtrhávat, jak bývá zvykem u jiných editorů:

ukázka textu s kontrolou syntaxe

Postará se o to prostý příkaz :set spell. Ovšem nejprve bude třeba definovat jazyk a v případě češtiny ještě připravit slovníky.

Vytvoření slovníků

vim používá pro kontrolu pravopisu své vlastní slovníky. Data pro ně lze získat například z české verze OpenOffice.org. Konkrétně se jedná o soubory cs_cz.aff a cs_cz.dic, které najdete v adresáři share/dict/ooo své instalace.

Zkopírujte si je do nějakého pracovního adresáře, přejděte do něj, spusťte zde vim a zadejte příkaz

:mkspell cs cs_cz

Výsledkem bude soubor s příponou .spl, který je třeba umístit do adresáře $VIMRUNTIME/spell/, aby jej vim dokázal najít. (Hodnotu proměnné $VIMRUNTIME vám vypíše příkaz :echo $VIMRUNTIME.)

Tím je slovník připraven a můžete si užívat jeho výhod.

Kontrola textu

K aktivaci kontroly pravopisu je třeba nastavit jazyk a zapnout kontrolu. Postará se o to dvojice příkazů:

:set spelllang=cs
:set spell

Chybná slova budou zvýrazněna. Můžete mezi nimi poskakovat kurzorem prostřednictvím příkazů ]s (následující) a [s (předchozí).

Máte-li nastaveno chování myši jako :set mousemodel=popup, zařadí editor do kontextového menu chybného slova pod kurzorem nabídky na jeho opravu. Zpomaluje to ovšem otevírání kontextového menu a pokud uvolníte pravé tlačítko dříve, než se menu zobrazí, nebude nahrazování fungovat.

Slovo pod kurzorem můžete označit jako dobré pomocí zg (g jako good) – přidá se do souboru definovaného volbou spellfile. Nebo lze naopak slovo prohlásit za špatné kombinací zw (wrong). z= vám nabídne možné opravy slova pod kurzorem. Vybíráte si z nich zadáním čísla požadované varianty nebo klepnutím myší.