La revisión ortográfica es una característica presente en muchos procesadores de palabra y editores de texto, la cual marca las palabras en un documento que pudieran no haber sido escritas correctamente.
Vim no es la excepción y también proporciona esta característica, aunque la traducción no sea muy precisa, pues el nombre original de esta función es spell checking, donde la palabra spell se traduce más acertadamente como «deletrear». Vale la pena detenerse en este detalle puesto que el editor se limita a revisar que las palabras sean escritas correctamente sin realizar ninguna revisión sintáctica; por lo que en español, puede pasar por alto detalles como una palabra que se escriba correctamente con tilde y sin tilde dependiendo del contexto; por ejemplo «si» y «sí». De esos detalles si tiene que encargarse quien escribe.
El editor ofrece dos variables para controlar el comportamiento de la revisión ortográfica: 'spell'
y 'spelllang'
.
Activando la revisión
La variable 'spell'
es un valor booleano que activa y desactiva la revisión, su valor por defecto es apagado (o nospell
para los cuates), por lo tanto puede ser modificada a través del comando :set
de la manera en que se muestra en la siguiente animación:
Seleccionando el idioma
La opción 'spelllang'
es un valor de tipo texto que especifica el idioma o idiomas que Vim utilizará para revisar la correcta escritura de las palabras, siendo el Inglés el idioma por defecto. La manera en que son almacenados los idiomas es una lista de nombres separados por comas.
Cada uno de estos nombres debe iniciar con dos letras minúsculas que identifican al idioma, por ejemplo: en para Inglés o es para Español. Nota como el identificador de cada idioma esté en su respectivo idioma, esto facilita al usuario adivinar con qué pareja de letras identificar su lengua.
Aun que con estas dos letras suele ser suficiente, dado que un idioma puede tener sus variantes dependiendo del lugar en el que se utilice; se puede especificar cada variante agregando al identificador del idioma un guión bajo seguido de otras dos letras que indican la variante deseada. Por ejemplo: en_us y es_mx especifican las variantes del Inglés que se utiliza en EE.UU. y el Español que se utiliza en México respectivamente.
Los idiomas disponibles dependen de la cantidad de diccionarios (llamados spell files) que tengas instalados. Un diccionario es un archivo binario que contiene las palabras que el editor reconocerá como correctas para el idioma el que corresponden. Vim buscará archivos nombrados con el siguiente formato: spell/LL.EEE.spl
en los directorios listados por la variable 'vimruntime'
. Donde LL
es una palabra contenida en la variable 'spelllang'
y EEE
corresponde al valor actual de la variable 'encoding'
.
Por cierto: La variable
'encoding'
le indica a Vim qué juego de caracteres utilizar para representar el contenido de tu documento de texto. Por ejemplo: ascii, utf-8, iso, etc. si quieres averiguar más al respecto, más adelante dedicaré una nota sobre esto, pero si eres como yo y no puedes esperar, puedes revisar el manual del editor en:help 'encoding'
.
Además de los diccionarios, están disponibles archivos con sugerencias, la manera de nombrar estos archivos es casi la misma que la utilizada para nombrar a los diccionarios, con la salvedad de que estos poseen la extensión .sug
en lugar de .spl
. Vim utiliza estos archivos para sugerir las posibles «correctas» palabras que quisiste haber escrito cuando encuentra errores en el texto, por ejemplo, cuando escribes «nesesario», el editor inferirá que tal vez tu intención fue escribir «necesario» gracias a uno de estos archivos.
En este punto el orden en que presentan los idiomas dentro de 'spelllang'
es importante, porque solo el primer archivo reconocido es cargado, en caso de que ningún diccionario sea encontrado, se dispara un evento que activa un plugin especial (e incluido de manera estándar con Vim) llamado spellfile.vim, que te preguntará si quieres descargar el diccionario y archivo de sugerencias faltantes.
Corrigiendo errores
¡Así de fácil! (más o menos) ya está configurado el diccionario en nuestro idioma y estamos listos para revisar la ortografía.
Para movernos a través de las palabras mal escritas y corregirlas, disponemos de los siguientes comandos, que aunque no son los únicos, creo que son más que suficientes para empezar.
Comando | Propósito |
---|---|
]s |
Mueve el cursor a la siguiente palabra mal escrita. |
[s |
Mueve el cursor a la anterior palabra mal escrita. |
zg |
Marca la palabra bajo el cursor como «buena» (good). |
zw |
Marca la palabra bajo el cursor como «mala» (wrong). |
z= |
Despliega una lista con sugerencias para la palabra mala bajo el cursor. |
En el caso de z=
, lo que resulta es que el editor despliega una lista numerada con las palabras que cree son las que quisiste escribir. Hay que recordar que Vim no realiza una revisión sintáctica, por lo que se limita a sugerirte la palabra lexicográficamente más cercana.
En la siguiente animación se muestra un ejemplo en el que Vim sugiere una palabra que resulta ser incorrecta, dado el contexto de la oración, debido a que en verdad está muy mal escrita. A continuación puedes observar otro ejemplo en el que la sugerencia sí es acertada. En ambos casos puedes notar que de todos modos, el editor te proporciona bastantes opciones para corregir el error. Si quieres cancelar la corrección simplemente no selecciones ninguna de las sugerencias.
Creo que eso es todo lo que necesitas hacer para empezar a revisar la ortografía de tus documentos de texto dentro de Vim, por supuesto que hay muchas cosas más que se pueden hacer con esta funcionalidad, por eso te invito a que revises el manual del editor para que encuentres más información: :help spell
.
Acabas de leer la doceava y última nota de esta primera temporada sobre Vim. Espero que te sea de utilidad y te haya motivado a darle una oportunidad a esta magnífica herramienta. Por el momento es tiempo de dejar descansar este tema, en la siguiente temporada continuaré desmenuzando otros aspectos del editor que me parecen interesantes. ¡Hasta entonces!