読者です 読者をやめる 読者になる 読者になる

計算物理屋の研究備忘録

Linux, Cygwin, Mac, zsh, emacs等の使い方、設定などのメモ

Emacsでスペルチェック

Emacs

目次

Aspellの設定

Emacsでスペルチェックを行うには、Aspellを使うといい。AspellはIspellの後継ソフトで、EmacsはIspell用のコマンドがはじめから用意されている。これをAspellに置き換えて使う

使ってるマシンにはすでにAspellが入っていたので今回は設定だけ。

まず環境変数で日本語を使っていたりすると、Aspellが日本語の辞書を探してしまうらしい。常に英語の辞書を使うようにするため~/.aspell.confというファイルにlang en_USと書き込んでおく。

$ echo "lang en_US" >> ~/.aspell.conf

Emacsの設定

init.elに設定を書いていく

(setq-default ispell-program-name "aspell")
(eval-after-load "ispell"
 '(add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))

1行目はispellをaspellに置き換えている。2, 3行目は日本語交じりの文章でもスペルチェックを可能にする設定なので書いておくといい

使い方

バッファ全体をスペルチェック

M-x ispell-buffer

選択範囲をスペルチェック

M-x ispell-region

flyspell

flyspell-modeという、文字を打った瞬間に自動でスペルチェックをしてくれる便利な機能がある。マイクロソフトのWordみたいな感じ

一時的にflyspell-modeを有効にするにはこのコマンド

M-x flyspell-mode

自動でflyspell-modeを有効に

特定のモードでバッファを開いたとき、自動でflyspell-modeを起動させる設定がある。
ここを参照にした

http://www.netfort.gr.jp/~dancer/diary/daily/2007-May-27.html.ja

init.elに以下のように書いておいた

(mapc                                   ;; 以下flyspell-modeの設定
 (lambda (hook)
   (add-hook hook 'flyspell-prog-mode))
 '(
   c-mode-common-hook                 ;; ここに書いたモードではコメント領域のところだけ
   emacs-lisp-mode-hook                 ;; flyspell-mode が有効になる
   ))
(mapc
   (lambda (hook)
     (add-hook hook
                      '(lambda () (flyspell-mode 1))))
   '(
     yatex-mode-hook     ;; ここに書いたモードでは
                                    ;; flyspell-mode が有効になる
     ))