Habilitar el corrector ortográfico en español en el editor vi / vim
Aparte de para programar, el editor vi se puede utilizar para editar cualquier tipo de texto, por lo que es interesante tener disponible un corrector ortográfico. Y no sólo cuando escribimos artículos o documentación, sino que cuando programamos, siempre usamos cadenas de texto o documentación en el código, por lo que, en mayor o menor medida, vamos a usar no sólo lenguajes de programación, sino también lenguajes de palabras.
En este artículo vamos a ver cómo instalar y configurar un corrector ortográfico tanto en inglés como en español y cómo usarlos en función de nuestras necesidades en cada momento.
Configurar el ~/.vimrc
Para configurar un idioma por defecto en vi, tenemos que editar el fichero ~/.vimrc.
Si queremos configurar el español de España, debemos escribir:
set spell spelllang=es_es
En caso de que quisiéramos el español de otro país, sólo deberíamos cambiar el último «es» por el código del país de cada cual. O un genérico:
set spell spelllang=es
Podemos tener el español como idioma predeterminado y, cuando editamos un texto en inglés, podemos activar el corrector ortográfico en inglés con:
:set spell spelllang=en_us
Nótese que cuando editamos el fichero ~/.vimrc no escribimos los dos puntos previos al comando y cuando estamos trabajando en el editor, sí que debemos hacerlo.
Instalar el corrector de cada idioma
En caso de que no tengamos el fichero de corrección ortográfica instalado, y hayamos indicado un idioma en el ~/.vimrc, nos dará un error como este:
$ vi texto.txt Advertencia: No se pudo hallar la lista de palabras "es.utf-8.spl" or "es.ascii.spl" Advertencia: No se pudo hallar la lista de palabras "es.utf-8.spl" or "es.ascii.spl" Pulse INTRO o escriba una orden para continuar
Así que debemos ir a http://ftp.vim.org/vim/runtime/spell/ y descargar los ficheros que necesitemos. Si queremos inglés y español:
- http://ftp.vim.org/vim/runtime/spell/en.utf-8.spl
- http://ftp.vim.org/vim/runtime/spell/en.utf-8.sug
- http://ftp.vim.org/vim/runtime/spell/es.utf-8.spl
- http://ftp.vim.org/vim/runtime/spell/es.utf-8.sug
Y los copiaremos en nuestro directorio ~/.vim/spell. En caso de que no lo tengamos, lo creamos:
[ -d ~/.vim/spell ] || mkdir ~/.vim/spell
Y copiamos en ese directorio los ficheros descargados:
mv ~/Descargas/*utf-8* ~/.vim/spell/
Si queremos ir añadiendo nuevas palabras a nuestros diccionarios, crearemos dos ficheros para que las almacenen:
touch ~/.vim/spell/es.utf-8.add ~/.vim/spell/en.utf-8.add
Usar el corrector ortográfico
Ahora ya podemos usar el editor con corrección ortográfica. Para ello, deberemos activar la corrección en el ~/.vimrc o individualmente en cada sesión que lo necesitemos. Yo prefiero esta última opción, ya que uso vi para programar, para escribir textos en inglés, en español, a veces también en catalán… y esta opción me ofrece más libertad.
Para activar el corrector en una sesión:
:set spell
Para desactivar:
:set nospell
En ~/.vimrc, usaremos las mismas instrucciones, pero sin los dos puntos.
Con el corrector ortográfico activado, cada vez que escribamos una palabra incorrecta, nos la marcará. Pero también hay palabras que, siendo totalmente correctas, como «colilargo» u «hociquirromo», al no estar en el diccionario de vi, nos la marcará como incorrectas.
Hay ocasiones en las que el corrector ortográfico considera palabras dudosas y otras veces, como erróneas. Para desplazarnos por las palabras que vi considera incorrectas, lo haremos con:
- ]S -> Desplaza el cursor a la siguiente palabra que vi considera como error ortográfico.
- [S -> Desplaza el cursor a la anterior palabra que vi considera como error ortográfico.
Para desplazarnos por las palabras incorrectas o dudosas:
- ]s -> Desplaza el cursor a la siguiente palabra que vi considera como error ortográfico.
- [s -> Desplaza el cursor a la anterior palabra que vi considera como error ortográfico.
Con la «s» de spell, nos desplazamos por las palabras que vi considera que pueden ser erróneas y la diferencia entre «s» (en minúscula) y «S» (en mayúscula) es que la mayúscula se utiliza para la búsqueda más restrictiva. Aunque cueste memorizar todos los atajos de vi, siempre -o casi siempre-, tienen una lógica.
Corregir un fallo
Cuando tenemos el cursor sobre una palabra potencialmente errónea, podemos pulsar z=
y nos muestra un listado de posibles palabras correctas que queríamos escribir en lugar de la errónea.
Si la palabra que queríamos usar está en esa lista, elegimos el número asociado a esa palabra y pulsamos «ENTER».
Añadir palabras al diccionario
Si tenemos un fichero ~/.vim/spell/es.utf-8.add creado, podemos ir añadiendo palabras al ese fichero con zg
.
Si nos hubiéramos equivocado al añadir una palabra al diccionario, podemos deshacer la inserción con zug
.
También podría darse el caso de encontrar una palabra que está en el diccionario, pero contiene un error. Si fuera así, podríamos eliminarla del diccionario con zw
.
Comprobar el significado de una palabra
Aunque no tiene que ver con la ortografía, en otro artículo expliqué cómo buscar palabras en el diccionario de la RAE desde vi. Quizá sea de su interés, ya que ambos se complementan.