Die Variable ispell-skip-region-alist
macht das, was Sie wollen, wenn der Puffer auf Rechtschreibprüfung geprüft wird, nicht jedoch auf Flyspell. Fügen Sie einfach einen Eintrag hinzu wie
(add-to-list 'ispell-skip-region-alist '("^{{{" . "^}}}"))
Leider ist es nicht so einfach, dass Flyspell bestimmte Regionen ignoriert. Sie müssen verwenden, flyspell-generic-check-word-predicate
was eine Funktion ist. Einige Modi definieren dies bereits, so dass Sie diesen Funktionen folgende Ratschläge hinzufügen müssen. Ich gehe zur Vereinfachung davon aus, dass Sie einen Modus verwenden (den ich text-mode
unten verwendet habe), in dem er nicht definiert ist. Dann können Sie Folgendes zu Ihren .emacs hinzufügen:
(defun flyspell-ignore-verbatim () "Function used for `flyspell-generic-check-word-predicate' to ignore {{{ }}} blocks." (save-excursion (widen) (let ((p (point)) (count 0)) (not (or (and (re-search-backward "^{{{" nil t) (> p (point)) ;; If there is no closing }}} then assume we're still in it (or (not (re-search-forward "^}}}" nil t)) (< p (point)))) (eq 1 (progn (while (re-search-backward "`" (line-beginning-position) t) (setq count (1+ count))) (- count (* 2 (/ count 2)))))))))) (put 'text-mode 'flyspell-mode-predicate 'flyspell-ignore-verbatim)