53

Emacs で ispell-buffer コマンドを使用したいと考えています。デフォルトでは英語が使用されます。別の辞書 (たとえば、別の言語) に切り替える簡単な方法はありますか?

4

7 に答える 7

51

次のコマンドは、使用するインストール済み辞書のリストを提案します。

M-x ispell-change-dictionary

通常M-x isp-c-dは上記にも展開します。

于 2008-10-20T14:25:50.353 に答える
31

ファイル ispell.el から、ispellコマンドのいくつかのオプションを指定できます。これは、次のようにファイルの最後にセクションを追加することで発生します。

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

2 つのセミコロンは、現在のモードでのコメントの開始を示していることに注意してください。Javaの場合のように、ファイル (プログラミング言語) がコメントを導入する方法を反映するように変更する必要があり//ます。

于 2008-10-20T14:10:27.293 に答える
20

LaTeX ファイルの最後で、以下を使用できます。

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

これにより、そのファイルだけに使用される辞書が設定されます。

于 2012-10-23T17:03:04.677 に答える
3

ディレクトリごとに言語を変更したい場合は、これを.dir-locals.elファイルに追加できます。

(ispell-local-dictionary . "american")

ファイルがまだない場合は、次の.dir-locals.elようになります。

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

詳細については、ディレクトリ変数に関する emacs wiki ページを参照してください。

于 2015-06-15T21:14:06.873 に答える
0

C-\ キーを再マップして複数の言語を自動的に切り替え、入力方法を対応する言語に変更するコードを次に示します。(この投稿から派生: https://stackoverflow.com/a/45891514/17936582 )

;; Toggle both distionary and input method with C-\
(let ((languages '("en" "it" "de")))
  (setq ispell-languages-ring (make-ring (length languages)))
  (dolist (elem languages) (ring-insert ispell-languages-ring elem)))
  
(defun ispell-cycle-languages ()
  (interactive)
  (let ((language (ring-ref ispell-languages-ring -1)))
    (ring-insert ispell-languages-ring language)    
    (ispell-change-dictionary language)
    (cond
     ((string-match "it" language) (activate-input-method "italian-postfix"))
     ((string-match "de" language) (activate-input-method "german-postfix"))
     ((string-match "en" language) (deactivate-input-method)))))
(define-key (current-global-map) [remap toggle-input-method] 'ispell-cycle-languages)
于 2022-01-14T22:07:26.227 に答える