Szanse są, tak naprawdę nie chcesz, aby flyspell-mode
włączone dla wszystkich trybów, ale zamiast chcesz flyspell-mode
włączone dla trybów, które zajmują się głównie z tekstem (tryb tekstowy, tryb wiadomości, itp.), i flyspell-prog-mode
dla trybów programowania (C/C++, Java, Ruby, Lisp itd.). Różnica między tymi dwoma trybami polega na tym, że pierwsza sprawdza wszystkie słowa, podczas gdy flyspell-prog-mode
sprawdza tylko słowa w komentarzach i ciągach znaków (unikając w ten sposób sprawdzenia kodu, który generalnie nie jest słowem).
Tak czy inaczej, nie ma jednego miejsca do włączenia Flyspell we wszystkich plikach/buforach, ponieważ zostało napisane, aby zawsze było lokalnym buforem. Dużym przybliżeniem byłaby
(defun turn-on-flyspell() (flyspell-mode 1))
(add-hook 'find-file-hooks 'turn-on-flyspell)
Że nie obejmuje buforów, które nie są związane pliki, a nie radzę go używać, ponieważ nie rozróżnia pomiędzy trybami programowania i trybów programowania non - które uważam za przydatne.
Ponieważ nie ma sposobu, aby wiedzieć, czy niektóre tryby programowania trybów czy nie, trzeba ręcznie dodać dostosowania dla wszystkich trybów programowania Ci zależy, coś jak:
(mapcar (lambda (mode-hook) (add-hook mode-hook 'flyspell-prog-mode))
'(c-mode-common-hook tcl-mode-hook emacs-lisp-mode-hook
ruby-mode-hook java-mode-hook))
Uwaga: dwa kawałki kodu prawdopodobnie nie grają dobrze razem.
I, dotyczące XML, flyspell już dostosowań dla sgml-mode
, html-mode
i nxml-mode
się nie sprawdzić pisownię tagów (stan Emacs 23,2). Jeśli używasz starszej wersji Emacsa (z powrotem do 21.1), powinieneś móc dodać to do swojego.emacs, aby uzyskać poparcie dla nxml-mode
:
(put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify)
Używam trybu nXml. Więc jeśli chcę, na przykład, aby funkcja flyspell była automatycznie włączana dla wszystkich plików z przecenami, czy mogę użyć czegoś takiego? (dodaj hook-mode-hook-mode-flyspell-mode) – mart1n
@ mart1n Dodałem więcej informacji o obsłudze XML, możesz potrzebować ostatniej linii aktualizacji, jeśli używasz starszej wersji Emacsa (21 lub 22). –
W wersji flyspell zawartej z Emacsem 24, włączono poniższy wiersz, aby również wyłączyć sprawdzanie tagów xml w trybie nxml: (wpisz "tryb nxml" tryb predykatu trybu lotu "sgml-mode-flyspell-verify) – zev