Introdução
O vim/vi pode ser desconsiderado por muitos como uma boa ferramenta de edição para textos, entretanto, vejo tantas possibilidades e recursos disponíveis nesta ferramenta, que hoje é o meu principal editor de textos — considerando que exitem editores e processadores de textos, tanto para programação quanto para outros documentos mais complexos, como dissertações e artigos.E com a minha crescente utilização, surgiu a necessidade de um corretor ortográfico no vim/vi, que considera-se os idiomas português e inglês, os quais já vêm incluso nos processadores de texto mais utilizados, como MS-Office, OOffice e LibreOffice.
Então resolvi publicar a minha experiencia particular neste assunto, pois deve haver alguém com a mesma necessidade na comunidade.
Instalação
A comunidade BROffice, possui um projeto chamado VERO – acrônimo para VERificador Ortográfico em http://broffice.org/verortografico, e faremos uso da base de verbetes deste verificador, por estar sempre atualizada e em conformidade com o idioma oficial.Neste tutorial far-se-á o uso da VERO versão 2.0.9 com acordo ortográfico e divisor de sílabas, para o idioma português, o dicionário padrão OOffice para o idioma Inglês Americano.
Para download do VERO, em sua versão mais recente, acesse a URL e http://broffice.org/verortografico/baixar; e para download do dicionário nos outros idiomas acesse a URL http://wiki.services.openoffice.org/wiki/Dictionaries ou http://linorg.usp.br/OpenOffice.org/contrib/dictionaries/.
Download
Download pt_BR – VERO v.3.2.0http://pt-br.libreoffice.org/assets/Uploads/PT-BR-Documents/VERO/VeroptBRV320AOC.oxt Download pt_BR – VERO v.2.1.4
http://pt-br.libreoffice.org/assets/Uploads/PT-BR-Documents/VERO/VeroptBRV214AOC.oxt Download pt_BR – VERO v.2.0.9
wget http://broffice.org/files/Vero_pt_BR_V209AOC.oxt Download es_ES
wget http://linorg.usp.br/OpenOffice.org/contrib/dictionaries/es_ES.zip Download en_US
wget http://linorg.usp.br/OpenOffice.org/contrib/dictionaries/en_US.zip; ou
wget http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries/en_US.zip
Preparação
mkdir -p /tmp/vim_spell/{pt_BR,es_ES,en_US};unzip -x Vero_pt_BR_V209AOC.oxt -d pt_BR/;
unzip -x es_ES.zip -d es_ES/;
unzip -x en_US.zip -d us_EN/
Após extraídos deverão estar contidos nos diretórios os seguintes arquivos: pt_BR/:
- description.xml
- dictionaries.xcu
- hyph_pt_BR.dic
- META-INF
- pt_BR.aff
- pt_BR.dic
- README_en.TXT
- README_hyph_pt_BR.TXT
- README_pt_BR.TXT
- en_US.aff
- en_US.dic
- README_en_US.txt
- Changelog_es_ES.txt
- es_ES.aff
- es_ES.dic README_es_ES.txt
Compilação
A compilação do dicionário é realizada pelo próprio vim/vi.Para proceder a compilação é necessário estar no diretório onde foi descompactados os arquivos do dicionário.
Para o corretor ortográfico pt_BR:
- Passo:
cd /tmp/vim_spell/pt_BR;
- Passo:
vim;
- Passo:
Dentro do vim, digite::mkspell pt pt_BR
Após a compilação será gerado o arquivo pt.utf-8.spl.
Para o corretor ortográfico es_ES:
- Passo:
cd /tmp/vim_spell/es_ES;
- Passo:
vim;
- Passo:
Dentro do vim, digite::mkspell es es_ES
Após a compilação será gerado o arquivo es.utf-8.spl.
Para o corretor ortográfico en_US:
- Passo:
cd /tmp/vim_spell/en_US;
- Passo:
vim;
- Passo:
Dentro do vim, digite::mkspell en en_US
Após a compilação será gerado o arquivo en.utf-8.spl.
Configuração
Assim como toda a configuração no Linux, o dicionário também pode ser configurado para todo o sistema ou para um usuário específico.Configuração Sistemíca
Vale para todos os usuários que utilizam o vim no sistema operacional. Geralmente o dicionário de inglês já compõe a distribuição, não necessitando ser incluída neste momento. find /tmp/vim_spell/ -name "*.spl" -exec cp -v {} /usr/share/vim/vim*/spell/ \;Configuração por Usuário
Configuração indicada quando apenas um ou poucos usuários do sistemas necessitam do recurso. mkdir -p ~/.vim/spell/;find /tmp/vim_spell/ -name "*.spl" -exec cp -v {} ~/.vim/spell \;
Utilizando o Corretor Ortográfico
Para utilização do corretor ortográfico, deve-se informar explicitamente ao vim/vi para utiliza-lo e em qual idioma.Para isto, execute o comando abaixo na interface do vim/vi: ativar pt_BR:
:set spell spelllang=pt
ativar es_ES:
:set spell spelllang=es
ativar en_US:
:set spell spelllang=en A desvantagem deste modo de utilização é a troca de idioma, que deve ser executada toda vez para cada idioma pretendido.
Habilitando a troca de idioma no corretor por script
Este script utiliza a tecla <F2> para alternar entre os idiomas, é bastante pratico no cotidiano, principalmente para quem necessita de desempenho no editor de textos.No arquivo ~/.vimrc, acrescente o trecho abaixo, para alternar entre dois idiomas (pt_BR, todos, en_US e desligado): ##~/.vimrc set spell spelllang=pt function! ToggleSpell() if &spell if &spelllang == "pt" set spelllang=pt,en echo "toggle spell" &spelllang elseif &spelllang == "pt,en" set spelllang=en echo "toggle spell" &spelllang else set spell! echo "toggle spell off" endif else set spelllang=pt set spell! echo "toogle spell" &spelllang endif endfunction map <F2> :call ToggleSpell()<CR>
No arquivo ~/.vimrc, acrescente o trecho abaixo, para alternar entre três idiomas (pt_BR, en_US, es_ES, todo e desligado): set spell spelllang=pt function! ToggleSpell() if &spell if &spelllang == "pt" set spelllang=en echo "toggle spell" &spelllang elseif &spelllang == "en" set spelllang=es echo "toggle spell" &spelllang elseif &spelllang == "es" set spelllang=pt,es,en echo "toggle spell" &spelllang else set spell! echo "toggle spell off" endif else set spelllang=pt set spell! echo "toogle spell" &spelllang endif endfunction map <F2> :call ToggleSpell()<CR>
No arquivo ~/.vimrc, acrescente o trecho abaixo, para alternar entre três idiomas (pt_BR, todos, en_US, es_ES, e desligado): set spell spelllang=pt function! ToggleSpell() if &spell if &spelllang == "pt" set spelllang=pt,es,en echo "toggle spell" &spelllang elseif &spelllang == "pt,es,en" set spelllang=en echo "toggle spell" &spelllang elseif &spelllang == "en" set spelllang=es echo "toggle spell" &spelllang else set spell! echo "toggle spell off" endif else set spelllang=pt set spell! echo "toogle spell" &spelllang endif endfunction map <F2> :call ToggleSpell()<CR>
Utilizando o corretor e atualizando o dicionário
No modo visual de comandos do vim/vi, posicione o cursor sobre a palavra marcada e execute algum dos comandos abaixo:- ]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.
Backup e Restore das configurações
O corretor ortográfico do vim/vi permite adicionar as palavras personalizadas com a opção zg, as quais são adicionadas no arquivo ~/.vim/spell/[pt,es,en].utf-8.add, para manter toda a configuração e verbetes personalizados, faz-se necessário o backup de todas estas informações. Mas como realizar o backup do corretor e dicionário?Realize o backup com os seguintes comandos: cd ~;
tar uvf vim_bkp.tar .vim/spell/ .vimrc;
Realize o backup com os seguintes comandos: tar xvf vim_bkp.tar -C ~/
Atualizado
20150601;Referencias
http://broffice.org/verortograficohttp://linorg.usp.br/OpenOffice.org/contrib/dictionaries/
http://wiki.services.openoffice.org/wiki/Dictionaries
http://misc.aspell.net/wiki/English_Dictionaries
http://wordlist.sourceforge.net/
http://ooo.mirrorbrain.org/contrib/dictionaries/en_US.zip.metalink
Comentários