Pregunta

Me gustaría usar el comando ispell-buffer en Emacs. Utiliza el idioma inglés por defecto. ¿Hay una manera fácil de cambiar a otro diccionario (por ejemplo, otro idioma)?

¿Fue útil?

Solución

El siguiente comando propone una lista de diccionarios instalados para usar:

M-x ispell-change-dictionary

Por lo general, M-x isp-c-d también se expande a lo anterior.

Otros consejos

Desde el archivo ispell.el puede especificar algunas opciones para los comandos ispell . Esto sucede agregando una sección al final de su archivo como esta:

;; Local Variables:
;; ispell-check-comments: exclusive
;; ispell-local-dictionary: "american"
;; End:

Tenga en cuenta que el punto y coma doble marca el inicio de los comentarios en el modo actual. Probablemente debería cambiarse para reflejar la forma en que su archivo (lenguaje de programación) introduce comentarios, como // para Java.

Al final de un archivo LaTeX puede usar:

%%% Local Variables:
%%% ispell-local-dictionary: "british"
%%% End:

que configurará el diccionario que se utilizará solo para ese archivo.

Use M-x ispell-change-dictionary y presione TAB para ver qué diccionario está disponible para usted.

Luego escriba la configuración del diccionario predeterminado en su .emacs , y agregue un gancho para iniciar ispell automáticamente para su modo específico (si lo desea).

Por ejemplo, inicie ispell en AUCTeX automáticamente usando inglés británico (por defecto el diccionario de inglés es inglés americano)

(add-hook 'LaTeX-mode-hook 'flyspell-mode) ;start flyspell-mode
(setq ispell-dictionary "british")    ;set the default dictionary
(add-hook 'LaTeX-mode-hook 'ispell)   ;start ispell

Si desea cambiar el idioma por directorio, puede agregarlo a un archivo .dir-locals.el :

(ispell-local-dictionary . "american")

Si aún no tiene el archivo .dir-locals.el , se verá así:

((nil .
   ((ispell-local-dictionary . "american")))
)

Consulte la página wiki de emacs sobre variables de directorio para obtener más información.

Por conveniencia (f7) agregué lo siguiente a mis .emacs:

(global-set-key [f7] 'spell-checker)

(require 'ispell)
(require 'flyspell)

(defun spell-checker ()
  "spell checker (on/off) with selectable dictionary"
  (interactive)
  (if flyspell-mode
      (flyspell-mode-off)
    (progn
      (flyspell-mode)
      (ispell-change-dictionary
       (completing-read
        "Use new dictionary (RET for *default*): "
        (and (fboundp 'ispell-valid-dictionary-list)
         (mapcar 'list (ispell-valid-dictionary-list)))
        nil t))
      )))

Por cierto: no olvides instalar los diccionarios necesarios. P.ej. en debian / ubuntu, para el diccionario alemán e inglés:

sudo apt install aspell-de aspell-en
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top