Errores de ortografía de autocorrección

19

He activado el corrector ortográfico con

:set spell spelllang=en_us

Ahora puedo corregir la ortografía de una palabra escribiendo 1z=(es decir, elegir la 1corrección ortográfica st ( z=)).

¿Cómo puedo hacer que esto se ejecute automáticamente en la palabra anterior cada vez que escribo un espacio, sin demoras? También trata de "arreglar" las palabras que ya están escritas correctamente (por eso no puedo hacer algo así inoremap <space> <esc>mmb1z=`ma<space>), por lo que solo quiero corregir cada palabra que escribo si está mal escrita .

¿Hay alguna forma de autocorregir palabras mal escritas en Vim?

Perilla de la puerta
fuente
2
Mira esto
Arturo Volpe
1
@ArturoVolpe Parece una respuesta legítima a la pregunta.
bsmith89
¿podría combinar el error anterior '[s' 'en una reasignación? Agregaría como respuesta, pero no sé cómo hacer la reasignación, así que lo dejaré para otra persona.
Nick J Adams

Respuestas:

8

Recomendaría no corregir automáticamente cada palabra que está marcada como incorrecta, por dos razones.

  • Primero, obtendrás muchos falsos positivos sobre las cosas que querías escribir, especialmente en escritos más técnicos. Ciertamente puede (y quizás debería) agregar estos dos a su diccionario para que sean reconocidos y sugeridos. Sin embargo, si no se dan cuenta de que están autocorregidas, podrían deslizarse a través de una versión definitiva de un documento o, peor aún, si estás escribiendo código o un archivo de configuración (por ejemplo, cambiando xmina minharía que el aspecto gráfico totalmente incorrecto). Los comentarios también pueden volverse extraños (p. Ej., Cambié "Etiqueta e instrucción nularia" a "Etiqueta y anulación de instrucción", que cambia el significado (a) de una frase nominal a un imperativo, y (b) a significar algo completamente diferente. )
  • En segundo lugar, la autocorrección es bastante pobre en palabras cortas. En mi experiencia, tiende a completarse a la palabra más cercana, que, por ejemplo, con palabras de tres letras, puede ser totalmente diferente de lo que quiere decir. Si se refiere al tipo de pero accidentalmente escribir fo , será corregido a pocos -no lo que quería! Nuevamente, estos pueden ser difíciles de atrapar en revisiones superficiales.

Con eso en mente, creo que su verdadero objetivo es ser capaz de reconocer y corregir rápidamente los errores tipográficos.

Utilizo las siguientes asignaciones para lograr esto:

" Go back to last misspelled word and pick first suggestion.
inoremap <C-L> <C-G>u<Esc>[s1z=`]a<C-G>u

" Select last misspelled word (typing will edit).
nnoremap <C-K> <Esc>[sve<C-G>
inoremap <C-K> <Esc>[sve<C-G>
snoremap <C-K> <Esc>b[sviw<C-G>

Cuando estoy escribiendo el texto del cuerpo, las palabras mal escritas estarán subrayadas, según mi configuración de resaltado. Si veo que la palabra es relativamente larga y es un error tipográfico simple, entonces puedo darme cuenta de que spellprobablemente lo solucionará correctamente, así que presiono <C-L>y sigo escribiendo. Si es una palabra más corta o preveo que se equivocará, puedo presionarla <C-K>y ajustarla yo mismo. Finalmente, si spellinesperadamente se corrige con algo incorrecto, he establecido un marcador de deshacer <C-G>u, así que solo puedo <Esc>ucWcambiarlo manualmente Esto hace que el flujo de trabajo sea muy rápido la mayor parte del tiempo.

wchargin
fuente
Arreglar automáticamente cada palabra es una excelente idea .
Rico
2

Por casualidad, he escrito un complemento que hace exactamente esto. Se llama Vim You, Autocorrect!

Después de la instalación, escriba :EnableAutocorrectpara encenderlo en cualquier búfer, y pronto verá que el alarmismo de wchargin es bastante infundado.

Rico
fuente
Tenga en cuenta que su comentario sobre la respuesta de wchargin se marcó como grosero, lo edité para eliminar el "Poppycock". y despidió la bandera. No es gran cosa, solo para tu información.
Martin Tournoij
@ MartinTournoij Está bien. Mucha gente en reddit tampoco entendió el chiste . :) (Gracias por el aviso, sin embargo.)
Rico
Sr. Rich, qué paquete quiero instalar y escribir: EnableAutoCorrect que no entendí
MP Creations
@MPCreations ¿Utiliza un administrador de complementos?
Rico
@MPCreations Quizás eche un vistazo a las respuestas a vi.stackexchange.com/questions/613/… si no sabe cómo instalar un complemento
Rich