2009-11-08 4 views
11

Je me demande si quelqu'un pourrait peser le pour et le contre des différents modes d'orthographe pour Emacs. Emacswiki-CategorySpelling mentionne trois modes de vérification orthographique:Avantages et inconvénients des différents modes de vérification orthographique dans emacs

  • Mode Flyspell (par défaut)
  • en mode Speck (semble être conçu pour être plus rapide que Flyspell)
  • mode Wcheck. (conçu pour être général)

Je suis également intéressé par lequel de ces modes fournissent un moyen pour le vérificateur d'orthographe d'ignorer une partie d'un tampon en fonction de sa syntaxe (par exemple, pour passer le mode mathématique pièces dans un document LaTeX, qui sont surlignées en marron en mode AUCTEX). Flyspell doesn't seem to do this

+1

Ceci pourrait ajouter à la discussion: la critique de Xah Lee sur le mode Flyspell et comment faire fonctionner le mode Speck - http://xahlee.org/emacs/emacs_spell_checker_problems.html – Yoo

Répondre

6

Vous pouvez effectuer un mode flyspell partiel de différentes manières. L'une consiste à utiliser une approche multi-mode, où vous définissez plusieurs modes dans un seul tampon, dont un est un mode pour éditer les commentaires (par exemple), dans lequel le mode flyspell est activé. J'avais l'habitude de le faire pour un langage de programmation, mais je ne trouve plus la config, donc je suppose que je n'utilise plus ce langage. De toute façon, voir mmm-mode pour plus d'informations là-bas. Une seconde alternative est d'utiliser `flyspell-prog-mode '(voir) qui configure le mode flyspell pour certaines parties du buffer, définies dans ce cas par la face de la police (il y a des faces spécifiques pour les chaînes et les commentaires pour la plupart des principaux modes de langage de programmation). Il utilise une fonction de rappel de prédicat, qui peut être définie comme vous le souhaitez; Je maintiens TNT, qui est un AIM mode pour Emacs, et nous l'utilisons comme ceci:

(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 ce qui concerne Flyspell vs grain contre wcheck - Je ne l'ai utilisé le mode Flyspell. Le pointillé semble être très orienté sur ce qui est visible, ce qui peut être bien, mais en général je veux que tout le document sur lequel je travaille soit corrigé, donc je ne le voudrais pas. wcheck semble être une interface générique avec un programme externe; J'imagine que tu devras en construire toi-même. flyspell peut être utilisé de deux manières différentes: au fur et à mesure, comme je l'utilise habituellement, et en "mode batch", où une région entière ou un tampon est vérifié à la fois. Le premier est incroyablement rapide, et je n'ai jamais trouvé de raison de chercher un meilleur outil. Ce dernier peut être un peu lent, surtout quand il y a beaucoup de mots mal orthographiés et que le document est volumineux, mais je ne me souviens vraiment pas d'avoir attendu plus de 15 secondes pour le terminer. En regardant l'écran pendant 15 secondes et ne rien faire peut sembler long, ce n'est pas, vraiment. YMMV, bien sûr.

Conclusion: Je resterais en mode flyspell, en supposant que cela répond à vos besoins, bien sûr.

Questions connexes