¿Qué opciones hay para revisar la ortografía en emacs?

19

Como actualmente estoy haciendo muchas tareas que no son de programación en Emacs, la corrección ortográfica se convirtió en una de mis principales preocupaciones una vez más.

Noté que todavía no hay ninguna pregunta relacionada con las opciones para la corrección ortográfica en Emacs, así que aquí vamos:

¿Cuáles son mis opciones para revisar la ortografía en Emacs?

Específicamente,

  • para revisión ortográfica de propósito general, es decir, sugerencias razonables para errores tipográficos, corrección ortográfica de palabras
  • para el corrector ortográfico selectivo, por ejemplo, el corrector ortográfico de uso general, pero solo en los comentarios
  • para cualquier cosa que olvidé o que no conozco pero que se te ocurra (corrector ortográfico, duh ...)

Editar: Bifurcó las "otras" cosas en una pregunta separada, ¿Qué opciones hay para escribir mejores textos en emacs?

elemakil
fuente
1
Recomiendo esta página: Ortografía en Emacs
Lucas
1
Tal como está, esta pregunta es demasiado amplia . Sugiero restringirlo a la segunda viñeta (seleccionando el corrector ortográfico), y tal vez preguntar sobre la gramática por separado.
Gilles 'SO- deja de ser malvado'
Solo tus dos primeros elementos son sobre corrección ortográfica. La gramática y el lenguaje no son correctores ortográficos, y sus últimos tres elementos harían una pregunta completamente diferente.
Malabarba
1
Aunque realmente no estoy de acuerdo con que la pregunta original fuera demasiado amplia o estuviera compuesta por dos preguntas muy diferentes, he bifurcado la segunda parte. Esta pregunta ahora solo trata sobre el corrector ortográfico, la otra sobre el corrector gramatical y escribir mejores textos.
elemakil

Respuestas:

10
  • Para el corrector ortográfico de uso general, hay bastantes alternativas populares
    1. ispelly amigos: integrado en emacs y normalmente llamado con ispell-buffer. Comprueba la ortografía solo bajo demanda.
    2. flyspell-mode: También está integrado y proporciona un corrector ortográfico sobre la marcha y resalta los errores.
    3. speck-mode: Disponible en MELPA, verifica la ortografía de la palabra una vez que haces una pausa después de escribir. También tiene algunas características distintivas del modo flyspell como poder usar múltiples diccionarios en el mismo búfer. (Descargo de responsabilidad: solo usé este modo brevemente hace mucho tiempo)

Tenga en cuenta que todo lo anterior requieren programas de comprobación de ortografía dedicados como aspello hunspelly diccionarios apropiados. Los modos solo proporcionan una conveniente interfaz emacs para los programas de línea de comandos.

  • Para la corrección ortográfica selectiva, puede personalizar flyspell-modecon la variable flyspell-generic-check-word-predicateconectando una función que selecciona qué palabras deben verificarse. Sin embargo, su ejemplo en la lista es fácil: solo use el flyspell-prog-modeque solo verifica los comentarios en los buffers de código.
Vamsi
fuente
1
Primero, déjame agradecerte por tu respuesta. Tras los comentarios de Gilles y Malabarba, bifurqué la pregunta en dos partes. Por lo tanto, le sugiero que publique la segunda parte de su respuesta (la que se trata sobre weasel-word) como respuesta a la nueva pregunta. Puedes encontrar el enlace en mi pregunta original.
elemakil
Por favor agregue wchecka su lista. Es muy bueno, aunque se flyspellha vuelto tan bueno últimamente, que ya no lo uso wcheck.
rasmus
Para OSX, la versión altamente personalizada de Emacs llamada Aquamacs tiene soporte incorporado para el corrector ortográfico nativo de OSX (incluido el diccionario de palabras OSX que el usuario ha agregado). Ese es un artículo especializado que ninguna otra versión de Emacs puede ofrecer.
abogados
6

La respuesta de @ Vamsi ya cubre el corrector ortográfico selectivo y de uso general. ¿Pero qué pasa con la corrección automática personalizada ? @Malabarba tiene una buena publicación sobre este tema en su blog . La idea básica es almacenar pares de palabras mal escritas y correcciones apropiadas como abreviaturas . Aquí está (una versión ligeramente modificada de) el código que le permite hacer esto fácilmente:

(defun ispell-word-then-abbrev (p)
  "Call `ispell-word'. Then create an abbrev for the correction made.
With prefix P, create local abbrev. Otherwise it will be global."
  (interactive "P")
  (let ((before (downcase (or (thing-at-point 'word) "")))
        after)
    (call-interactively 'ispell-word)
    (setq after (downcase (or (thing-at-point 'word) "")))
    (unless (string= after before)
      (define-abbrev
        (if p local-abbrev-table global-abbrev-table) before after))
      (message "\"%s\" now expands to \"%s\" %sally."
               before after (if p "loc" "glob"))))

(define-key ctl-x-map (kbd "C-i") 'ispell-word-then-abbrev)
(setq save-abbrevs t)
(setq-default abbrev-mode t)

Con esto en su lugar, puedes simplemente

  1. golpeado C-x C-idespués de una palabra mal escrita
  2. seleccione una corrección y
  3. nunca más te preocupes por eso

porque a partir de ahora Emacs reemplazará automáticamente la versión mal escrita de la palabra con la corrección. ¡Es difícil poner en palabras lo útil que es esto!


Si desea sobrecargar las nuevas capacidades de corrección automática de Emacs, puede agregar las abreviaturas definidas aquí a su abbrev_defsarchivo.

itsjeyd
fuente