Quelles sont les options pour effectuer la vérification orthographique dans emacs

19

Comme je fais actuellement beaucoup de tâches hors programmation dans Emacs, la vérification orthographique est redevenue une de mes principales préoccupations.

J'ai remarqué qu'il n'y a pas encore de question concernant les options de vérification orthographique dans Emacs, alors c'est parti:

Quelles sont mes options pour vérifier l'orthographe dans Emacs?

Plus précisément,

  • pour vérification orthographique à usage général, c.-à-d. suggestions judicieuses de fautes de frappe, correction orthographique des mots
  • pour la vérification orthographique sélective, p.ex. vérification orthographique à usage général mais uniquement dans les commentaires
  • pour tout ce que j'ai oublié ou dont je ne suis pas au courant mais auquel vous pouvez penser (lié à la vérification orthographique, duh ...)

Edit: bifurqué les "autres" choses dans une question séparée, quelles sont les options pour écrire de meilleurs textes dans emacs

elemakil
la source
1
Je recommande cette page: Orthographe dans Emacs
Luke
1
En l'état, cette question est trop large . Je suggère de le limiter au deuxième point (sélectionner la vérification orthographique), et peut-être de poser des questions sur la grammaire séparément.
Gilles 'SO- arrête d'être méchant'
Seuls vos deux premiers éléments concernent la vérification orthographique. La grammaire et la langue ne vérifient pas l'orthographe, et vos trois derniers éléments poseraient une question entièrement différente.
Malabarba
1
Bien que je ne sois pas vraiment d'accord pour dire que la question initiale était trop large ou composée de deux questions très différentes, j'ai bifurqué la deuxième partie. Cette question porte désormais uniquement sur la vérification orthographique, l'autre sur la vérification grammaticale et la rédaction de meilleurs textes.
elemakil

Réponses:

10
  • Pour la vérification orthographique à usage général, il existe plusieurs alternatives populaires
    1. ispellet amis: intégrés dans emacs et généralement appelés avec ispell-buffer. Vérifie l'orthographe uniquement sur demande.
    2. flyspell-mode: Également intégré et fournit une vérification orthographique à la volée et met en évidence les erreurs.
    3. speck-mode: Disponible auprès de MELPA, il vérifie l'orthographe du mot une fois que vous vous arrêtez après avoir tapé. Possède également quelques caractéristiques distinctives du mode flyspell, comme la possibilité d'utiliser plusieurs dictionnaires dans le même tampon. (Avertissement: je n'ai utilisé ce mode que brièvement il y a longtemps)

Notez que tout ce qui précède nécessite des programmes de vérification orthographique dédiés tels que aspellou hunspellet des dictionnaires appropriés. Les modes ne fournissent qu'une interface emacs pratique aux programmes de ligne de commande.

  • Pour la vérification orthographique sélective, vous pouvez personnaliser flyspell-modela variable flyspell-generic-check-word-predicateen câblant une fonction qui sélectionne les mots à vérifier. Votre exemple répertorié est cependant simple - utilisez simplement flyspell-prog-modece qui vérifie uniquement les commentaires dans les tampons de code.
Vamsi
la source
1
Tout d'abord, permettez-moi de vous remercier pour votre réponse. Suite aux commentaires de Gilles et Malabarba, j'ai divisé la question en deux parties. Par conséquent, je vous suggère de poster la deuxième partie de votre réponse (celle qui concerne weasel-word) comme réponse à la nouvelle question. Vous pouvez trouver le lien dans ma question d'origine.
elemakil
Veuillez ajouter wcheckà votre liste. C'est très bon, bien que flyspelldevenu si bon ces derniers temps, que je n'utilise wcheckplus.
rasmus
Pour OSX, la version hautement personnalisée d'Emacs appelée Aquamacs a une prise en charge intégrée du correcteur orthographique OSX natif (y compris le dictionnaire utilisateur OSX d'accompagnement des mots qui ont été ajoutés par l'utilisateur). C'est un article de spécialité qu'aucune autre version d'Emacs ne peut offrir.
Lawlist
6

@ La réponse de Vamsi couvre déjà la vérification orthographique générale et sélective. Mais qu'en est -il de la correction automatique personnalisée ? @Malabarba a un joli post sur ce sujet sur son blog . L'idée de base est de stocker des paires de mots mal orthographiés et des corrections appropriées sous forme d' abréviations . Voici (une version légèrement modifiée de) le code qui vous permet de le faire facilement:

(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)

Avec cela en place, vous pouvez simplement

  1. frapper C-x C-iaprès un mot mal orthographié
  2. sélectionnez une correction, et
  3. ne t'inquiète plus jamais

car désormais Emacs remplacera automatiquement la version mal orthographiée du mot par la correction. Il est difficile de dire à quel point c'est utile!


Si vous souhaitez augmenter les capacités de correction automatique d'Emacs, vous pouvez ajouter les abréviations définies ici à votre abbrev_defsfichier.

itsjeyd
la source