Pergunta

Eu gostaria de usar o comando ispell-buffer no Emacs.Ele usa o idioma inglês por padrão.Existe uma maneira fácil de mudar para outro dicionário (por exemplo, outro idioma)?

Foi útil?

Solução

O comando a seguir propõe uma lista de dicionários instalados para usar:

M-x ispell-change-dictionary

Usualmente, M-x isp-c-d Também se expande para o exposto.

Outras dicas

No arquivo ispell.el, você pode especificar algumas opções para o ispell comandos. Isso acontece adicionando uma seção ao final do seu arquivo como este:

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

Observe que o duplo semicolon marca o início dos comentários no modo atual. Provavelmente deve ser alterado para refletir a maneira como seu arquivo (linguagem de programação) apresenta comentários, como // para java.

No final de um arquivo de látex que você pode usar:

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

Isso definirá o dicionário a ser usado apenas para esse arquivo.

Usar M-x ispell-change-dictionary e acertar TAB Para ver o que o dicionário está disponível para você.

Em seguida, escreva a configuração do dicionário padrão em seu .emacs, e adicione um gancho para iniciar o ISPell automaticamente para o seu modo específico (se desejar).

Por exemplo, Iniciar o ISpell em Auctex automaticamente usando o inglês britânico (por padrão o Dicionário de Inglês é American English)

(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

Se quiser alterar o idioma por diretório, você pode adicionar isso a um .dir-locals.el arquivo:

(ispell-local-dictionary . "american")

Se você não tem .dir-locals.el arquivo já, ficará assim:

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

Veja o página wiki do emacs sobre variáveis ​​de diretório Para maiores informações.

Por conveniência (F7), adicionei o seguinte aos meus .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))
      )))

BTW: Não se esqueça de instalar os dicionários necessários. Por exemplo, em Debian/Ubuntu, para o dicionário alemão e inglês:

sudo apt install aspell-de aspell-en
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top