2009-11-08 20 views
11

Me pregunto si alguien podría opinar sobre los pros y los contras de los diferentes modos de ortografía para Emacs. Emacswiki-CategorySpelling menciona tres modos para la corrección ortográfica:pros y contras de varios modos de revisión ortográfica en emacs

  • modo Flyspell (por defecto)
  • uno
  • modo de la mota (parece estar diseñado para ser más rápido que flyspell)
  • modo WCompruebe. (Diseñado para ser de uso general)

También estoy interesado en cuál de estos modos de proporcionar una manera para que el corrector ortográfico para omitir parte de un tampón en función de su sintaxis (por ejemplo, con el fin de omitir el modo matemático partes en un documento LaTeX, que se resaltan como marrón en modo AUCTEX). Flyspell doesn't seem to do this

+1

Esto podría agregarse a la discusión: las críticas de Xah Lee sobre el modo Flyspell y cómo hacer funcionar el modo Speck - http://xahlee.org/emacs/emacs_spell_checker_problems.html – Yoo

Respuesta

6

Puede hacer el modo flyspell parcial de diferentes maneras. Una es usar un enfoque multimodo, donde se definen múltiples modos en un único buffer, uno de los cuales es un modo para editar comentarios (por ejemplo), en el que se habilita el modo flyspell. Solía ​​hacer esto para un poco de lenguaje de programación, pero no puedo encontrar la configuración para él más, así que creo que ya no uso ese lenguaje. De todos modos, vea mmm-mode para más información allí.

Una segunda alternativa es usar `flyspell-prog-mode '(que ver) que configura el modo flyspell para ciertas partes del búfer, definido en este caso por la fuente (hay caras específicas para cadenas y comentarios para la mayoría de los modos principales de lenguaje de programación). Utiliza una función de devolución de llamada de predicado, que se puede definir como quiera; Mantengo TNT, que es un AIM-modo para Emacs, y lo usamos como tal:

(defun tnt-im-mode-flyspell-verify() 
    "This function is used for `flyspell-generic-check-word-p' in TNT." 
    (not (get-text-property (point) 'read-only))) 

(put 'tnt-im-mode 'flyspell-mode-predicate 'tnt-im-mode-flyspell-verify) 
(put 'tnt-chat-mode 'flyspell-mode-predicate 'tnt-im-mode-flyspell-verify) 

En cuanto flyspell vs mota vs WCompruebe - Yo sólo he utilizado flyspell modo. speck parece estar muy orientado en lo que se puede ver, lo que puede estar bien, pero en general quiero que todo el documento en el que estoy trabajando esté corregido, por lo que no me gustaría. wcheck parece ser una interfaz genérica para un programa externo; Supongo que vas a tener que construir tu uso tú mismo. flyspell se puede usar de dos maneras diferentes: como usted escribe, que es la forma en que generalmente lo uso, y "modo por lotes", donde se comprueba toda una región o buffer a la vez. El primero es increíblemente rápido y nunca encontré una razón para buscar una herramienta mejor. Este último puede ser un poco lento, especialmente cuando hay muchas palabras mal escritas y el documento es grande, pero realmente no puedo recordar esperar más de 15 segundos para que se complete. Mientras miras la pantalla durante 15 segundos y no haces nada, puede parecer mucho tiempo, en realidad no lo es. YMMV, por supuesto.

Conclusión: Me quedaría con el modo flyspell, suponiendo que satisfaga sus necesidades, por supuesto.