Es probable que, realmente no desea que flyspell-mode
esté habilitado para todos los modos, sino que desee flyspell-mode
activado para modos que se ocupan principalmente de texto (modo de texto, modo de mensaje, etc.) y flyspell-prog-mode
para los modos de programación (C/C++, Java, Ruby, Lisp, etc.). La diferencia entre los dos modos es que el primero verifica todas las palabras, mientras que el flyspell-prog-mode
solo verifica palabras en comentarios y cadenas (evitando así verificar el código, que generalmente no son palabras).
De cualquier manera, no hay un solo lugar para habilitar flyspell en todos los archivos/almacenamientos intermedios porque se ha escrito para que siempre sea un buffer local. Una aproximación sería
(defun turn-on-flyspell() (flyspell-mode 1))
(add-hook 'find-file-hooks 'turn-on-flyspell)
que no cubra los tampones que no tienen archivos asociados, y yo no aconsejaría a usarlo porque no distingue entre los modos de programación y los modos de programación no-- que creo que es útil.
Debido a que no hay manera de saber si ciertos modos están programando modos o no, tiene que agregar manualmente las personalizaciones para todos los modos de programación que le interesan, con algo como:
(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))
Nota: los dos trozos de código probablemente no jueguen bien juntos.
Y, en cuanto al XML, flyspell ya tiene personalizaciones para sgml-mode
, html-mode
y nxml-mode
para no revisar las etiquetas (a partir de Emacs 23.2). Si está utilizando una versión anterior de Emacs (de vuelta a 21.1), debería poder agregar esto a su.emacs para obtener el apoyo a nxml-mode
:
(put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify)
Estoy usando nXml-mode. Entonces, si quiero, por ejemplo, que Flyspell se active automáticamente para todos los archivos de marcación, ¿puedo usar algo como esto? (add-hook 'markdown-mode-hook' flyspell-mode) – mart1n
@ mart1n Agregué más información sobre el manejo de XML, puede necesitar la última línea de actualizaciones si está usando una versión anterior de Emacs (21 o 22). –
En la versión de flyspell incluida con Emacs 24, se incluye la siguiente línea para desactivar también la comprobación de etiquetas xml en modo nxml: (poner 'nxml-mode' flyspell-mode-predicate 'sgml-mode-flyspell-verify) – zev