Comentarios ortográficos en vim

22

Soy un programador profesional de C / C ++ que comete muchos errores ortográficos en los comentarios. Quiero configurar vim de modo que el corrector ortográfico solo busque palabras mal escritas en los comentarios. Si es necesario, estoy dispuesto a agregar símbolos especiales alrededor del comentario que vim puede buscar para saber dónde verificar, como:

 int main(){
     /*<--C_S 
        This is comment line in main function ..
        C_S-->*/
 }

Si el complemento puede funcionar sin los C_Ssímbolos, eso sería aún mejor. Quiero que el corrector ortográfico resalte los errores ortográficos que encuentre en los comentarios. ¿Esto ya existe? ¿O es fácil escribirme?

Vikas Kumar
fuente

Respuestas:

21

Buenas noticias, esto ya es parte de Vim. Active el resaltado de sintaxis ( :syntax enable) y esto debería solucionarse automáticamente con los archivos de sintaxis predeterminados empaquetados con cualquier distribución vim razonablemente reciente. Ver :help spell-syntaxpara una explicación. La versión corta es que los archivos de sintaxis pueden usar @Spelly @NoSpellpara especificar dónde debe o no ocurrir la corrección ortográfica.

jw013
fuente
2
Esto solo se aplica a los buffers cuyos archivos de sintaxis permiten explícitamente la corrección ortográfica. La mayoría, en mi experiencia, no . Dado que habilitar la corrección ortográfica a nivel mundial no es necesariamente una opción segura, normalmente extiendo la útil respuesta de Psirus con un cuerpo similar . Ver también la subsección HECHIZO de esto . augroupautocmd FileType md,rst,text,yaml setlocal spell spelllang=en_ca
Cecil Curry
15

Ya existe Simplemente escriba :set spell spelllang=en_usy subraya los errores ortográficos. Ajusta el idioma a tus necesidades. Idiomas adicionales se pueden encontrar aquí .

Psirus
fuente
1

Como otros dijeron, ya existe. Sin embargo, el complemento del arco iris (predeterminado en spf13) estropeará la revisión ortográfica. Me tomó un tiempo darme cuenta.

El problema proviene de la siguiente línea:

let def_rg = 'syn region %s matchgroup=%s containedin=%s contains=%s,@NoSpell %s'

el arco iris se agrega incorrectamente @NoSpella todas las regiones del arco iris.

Ver https://github.com/luochen1990/rainbow/issues/30 para los detalles

Hai Feng Kao
fuente
1
Su respuesta sería mucho mejor si se esforzara por resumir el problema y cómo solucionarlo para que, cuando el enlace desaparezca, lo esencial siga estando presente en su respuesta.
zagrimsan