INTRODUÇÃO
Este documento é uma atualização da dica Adicionando corretor ortográfico em português no Vim, de Guilherme Maluf, onde adiciono explicações mais detalhadas para tornar o texto um guia definitivo sobre o assunto.
Antes de tudo precisamos de um dicionário da língua portuguesa. O OpenOffice possui o Vero, que é distribuído em em forma de extensão.
Você pode fazer o download do Vero em:
Ao clicar em “Download” será baixado o arquivo vero_pt_br_v208aoc.oxt. Salve-o e entre na pasta de Downloads (ou onde ele foi salvo):
$ cd ~/Downloads
Note que a extensão oxt (OpenOffice Extension) nada mais é que um arquivo ZIP:
$ file vero_pt_br_v208aoc.oxt
vero_pt_br_v208aoc.oxt: Zip archive data, at least v2.0 to extract
Vamos descompactá-lo:
$ unzip vero_pt_br_v208aoc.oxt
Archive: vero_pt_br_v208aoc.oxt
inflating: pt_BR.dic
inflating: README_en.TXT
inflating: README_hyph_pt_BR.TXT
inflating: README_pt_BR.TXT
inflating: META-INF/manifest.xml
inflating: description.xml
inflating: dictionaries.xcu
inflating: hyph_pt_BR.dic
inflating: pt_BR.aff
O Vim usa arquivos de dicionário no formato SPL. Com base nos arquivos baixados precisaremos gerar um dicionário compatível com o editor.
No mesmo diretório em que você descompactou os arquivos acima, digite:
$ vim
NOTA: os arquivos necessários para esta operação são o pt_BR.dic e pt_BR.aff.
Ao digitar “vim” sem argumentos, a surgirá a tela inicial do editor:
Vamos solicitar ao editor que ele crie o dicionário pt_BR. Digite o seguinte comando dentro do Vim:
:mkspell pt pt_BR
Onde:
- mkspell – comando para geração de dicionário;
- pt – nome da linguagem;
- pt_BR – prefixo dos arquivos de dicionário (lembram do pt_BR.dic e pt_BR.aff?).
Ao executar o comando algumas mensagens de erro surgirão:
Pressione ENTER (não use “q”) até as mensagens de erro cessarem.
Então o vim comecará a gerar o dicionário. Continue pressionando ENTER a cada pausa de tela até que o processamento esteja completo. Ao final do processamento você cairá na tela preta do Vim, que é a de novo documento. Digite :q para sair do editor.
Note que foi criado um novo arquivo de extensão .spl no diretório corrente:
$ ls *spl
pt.utf-8.spl
Onde:
- pt – nome que escolhemos para a linguagem;
- utf-8 – charset utilizado pelo seu SO. Pode variar para iso8859-1 por exemplo;
- spl – extensão de arquivo de dicionário do Vim.
Caso não exista, crie o diretório que armazenará os dicionários no Vim:
$ mkdir ~/.vim/spell
Copie o dicionário:
$ cp pt.utf-8.spl ~/.vim/spell/
Agora vamos editar o arquivo de configuração do Vim a fim de habilitar o uso de corretor ortográfico.
$ vim ~/.vimrc
Adicione a seguinte linha ao final do arquivo (ok, em qualquer lugar do arquivo):
Onde “pt” é o nome que escolhemos para a linguagem no início do tutorial.
UTILIZANDO O CORRETOR E PERSONALIZANDO AS CORES
UTILIZANDO O CORRETOR
Em modo visual temos os seguintes comandos:
- ]s vai para a próxima palavra;
- [s vai para a palavra anterior;
- z= mostra a lista de sugestões para a palavra;
- zg adiciona a palavra sob o cursor no dicionário, assim ela não será mais marcada como errada;
- zug desfaz a última palavra adicionada;
- zw remove a palavra sob o cursor do dicionário, assim ela será marcada como errada;
- zuw desfaz a última palavra removida.
Particularmente só uso ]s e zg.
PERSONALISANDO AS CORES
Se você não gostou da forma como o Vim sinaliza as palavras erradas, é possível personalizar as cores.
Os dois principais tipos de highlight são:
- SpellCap – palavras que estão em caixa baixa após alguma pontuação. O corretor indica que neste caso o correto é usar a primeira letra em caixa alta. Por padrão o Vim marca essas palavras com fundo azul.
- SpellBad – palavras que o corretor considera incorretas. Por padrão o Vim marca essas palavras com fundo vermelho.
Existem três tipos de terminal onde o Vim pode ser executado:
- term – terminal sem cores;
- cterm – terminal com cores (o padrão utilizado quando estamos usando Linux com um gerenciador de janelas);
- gui – provavelmente a interface do GVim, estou chutando.
No meu caso vou personalizar as cores do cterm, o mesmo deve se aplicar à maioria dos que estão acompanhando o tutorial.
Dentro do Vim em modo visual, digitar o seguinte comando:
:highlight SpellCap ctermfg=Gray ctermbg=Blue
Onde:
- highlight – comando para setar configurações de highlight em geral;
- SpellCap – o tipo de highlight a ser configurado;
- ctermfg – Cor do texto (cterm foreground);
- ctermbg – Cor de fundo (cterm background).
Usei cinza (Gray) para cor do texto com fundo azul (Blue).
E agora a configuração para as palavras erradas:
:highlight SpellBad ctermfg=Gray ctermbg=DarkRed
Usei cinza (Gray) para cor do texto com fundo vermelho escuro (DarkRed).
Para tornar as configurações permanentes, adicione as seguintes linhas ao teu ~/.vimrc:
hi SpellBad ctermfg=Gray ctermbg=DarkRed
NOTA: Use “hi” ao invés de “highlight” só para mostrar que hi é um alias para highlight. São a mesma coisa.
Segue a lista de cores disponíveis para uso no Vim:
- Black
- DarkBlue
- DarkGreen
- DarkCyan
- DarkRed
- DarkMagenta
- Brown, DarkYellow
- LightGray, LightGrey, Gray, Grey
- DarkGray, DarkGrey
- Blue, LightBlue
- Green, LightGreen
- Cyan, LightCyan
- Red, LightRed
- Magenta, LightMagenta
- Yellow, LightYellow
- White
Para desabilitar o corretor ortográfico durante a edição do texto:
:set nospell
E para habilitar novamente:
:set spell spelllang=pt
NOTA: Se você der um “ls ~/.vim/spell” vai notar a existência de dois novos arquivos:
- pt.utf-8.add – lista de palavras em text/plain que você adicionou ao dicionário com o comando “zg”;
- pt.utf-8.add.spl – lista de palavras acima em formato binário, usado pelo Vim on-the-fly.