;; NO spell check for embedded snippets
(defadvice org-mode-flyspell-verify (after org-mode-flyspell-verify-hack activate)
(let* ((rlt ad-return-value)
(begin-regexp "^[ \t]*#\\+begin_\\(src\\|html\\|latex\\|example\\|quote\\)")
(end-regexp "^[ \t]*#\\+end_\\(src\\|html\\|latex\\|example\\|quote\\)")
(case-fold-search t)
b e)
(when ad-return-value
(save-excursion
(setq b (re-search-backward begin-regexp nil t))
(if b (setq e (re-search-forward end-regexp nil t))))
(if (and b e (< (point) e)) (setq rlt nil)))
(setq ad-return-value rlt)))
Lütfen ispell-skip-region-alist ifadesinin flyspell tarafından KULLANILMADIĞINI unutmayın.
Yerleşik kuruluş modu ile Emacs 24.3, 24.4, 24.5, 25.1 üzerinde test
Çoğu kullanıcı varsayılan olarak flyspell'i açar. Yukarıdaki kod yeterlidir.
Ama org dosyasında sinek modunu etkinleştirmiyorum. Manuel olarak M-x flyspell-buffer
tekrar tekrar tercih ederim . Bu yüzden (flyspell-mode 1) (flyspell-mode -1)
org-mode-hook'a ihtiyacım var . Evet, açın ve sineklik modunu kapatın. Amaç, kuruluş modunun varsayılan yükleminin yüklendiğinden emin olmaktır.
flyspell-generic-check-word-predicate
henüz icat edilmemişse, bazı kodları yazması gerekecek gibi görünüyor . İşte flyspell için ilgili konuflyspell-generic-check-word-predicate
: superuser.com/a/345461/206164 ; ve işte, ispell için yarı ilişkili bir konuispell-skip-region-alist
, ancak flyspell ile ilgili değil: emacs.stackexchange.com/a/2103/2287