2013-04-09 23 views
7

init ファイルに追加できるものが見つかりません。デフォルトで自動スペルチェックが有効になっています。デフォルトで自動スペルチェックを有効にするにはどうすればよいですか?

メニューから自動スペルチェック(Flyspell)を有効にすることができます。メニュー入力の仕組みを知る方法があるかもしれませんか?

+1

これはプログラミングの質問であるかわかりません。それのようには聞こえません。スーパーユーザーですか? (ここではvimのユーザーは、いずれにせよ助けてもらえません) – dequis

+2

もちろん、プログラムでしか実行できないので、プログラミングに関する質問です。ここには[答える方法]です(http://stackoverflow.com/questions/6860750/how-to-enable-flyspell-mode-in-emacs-for-all-files-and-all-major-modes/6861176#6861176)。 – Onlyjob

+1

ええ、私はemacsがlispを使っていることを知っていますが、何かをコーディングするのではなくエディタの機能を使いたいと思っているようです。とにかく、あなたが探していた答えですか?もしそうなら、あなたはこの答えを閉じるか、他の何かに編集する必要があります。 – dequis

答えて

14

私は私のinit.elに以下があります。私の編集をカバー

(add-hook 'text-mode-hook 'flyspell-mode) 
(add-hook 'prog-mode-hook 'flyspell-prog-mode) 

がうまく必要があります。

フックは、OOPに慣れていると 'イベント'やオブザーバパターンと似ています。特定のポイントで実行される関数のリストです。 Emacsをカスタマイズする主な方法の1つは、独自の関数をこれらのフックに追加することです。

Emacsのほとんどのモードは、有効になっているとフックを呼び出します。 prog-modeは、プログラミングモードが導出されるモードであるため、prog-mode-hookに関数を追加すると、すべてのプログラミングモードがカスタマイズされます。

この資料の参考になるのは、組み込みのEmacs Lispマニュアル(C-h rまたはM-x info-emacs-manual)です。フックに関する章を含むEmacs Lispプログラミングに関するセクションがあります。

+2

ありがとうございます。私は '(setq ispell-dictionary" british ")'を追加してデフォルト辞書を選択しました。 – Onlyjob

+0

あなたの回避策は多くのファイルタイプでは機能しません。例えば、 'emacs foo.log.txt'が実行されるとき、' emacs foo.log'はスペルチェッカーを有効にしません。以下は明らかにすべてのファイルに対して機能します: '(add-hook 'find-file-hooks' turn-on-flyspell)' – Onlyjob