spacemacs の日本語設定 (1: migemo)

前回, 前々回 に予告したように migemo を導入すれば, avy-jump 日本語にもローマ字入力で移動可能になり, helm-swoop でローマ字入力でバッファ検索が可能になる. spacemacs にmigemo を導入するとは, 正確にいうとmigemo という外部プログラムにアクセスするインターフェイスを導入することである. まずは外部プログラムの導入, そして spacemacsの設定を説明する.

C/Migemo の導入

まず外部ファイル migemo を導入する必要がある. 現在は C/Migemo を使うのが普通である.

windows

以下のサイト

にから, バイナリを入手し, 環境変数 PATH にバイナリの場所を追加する. 私は c:/app/cmigemo-default-win64/ にしている.

mac

homebrew を導入しているので

brew install cmigemo

で導入される.

linux

ubuntu だとつぎのコマンドでよい.

sudo apt-get install cmigemo

設定

migemoを導入するためには init.eldotspacemacs/layers の dotspacemacs-additional-packages '()migemoavy-migemo を加える. そして init.el にある dotspacemacs/user-config () に次の設定を加える.

;; migemo
(require 'migemo)
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
(cond
 ((eq system-type 'darwin)
  (setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
  )
 ((eq system-type 'gnu/linux)
  (setq migemo-dictionary "/usr/share/cmigemo/utf-8/migemo-dict")
  )
 ((eq system-type 'windows-nt)
  (setq migemo-dictionary "c:/app/cmigemo-default-win64/dict/utf-8/migemo-dict")
  ))
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-coding-system 'utf-8-unix)
;; initialize migemo
(migemo-init)

機種によって辞書のディレクトリが違うため, 場合分けしている. これで C-s, C-r などのインクルメンタルサーチで migemo 対応が可能である.

helm をmigemo対応にするには以下でよい.

;;
(with-eval-after-load "helm"
  (helm-migemo-mode +1)
  )

古いブログの記事では helm-migemo の導入といっているが不要である.

avy をmigemo対応にするには以下でよい.

;; avy-migemo
(require 'avy-migemo)
(avy-migemo-mode 1)

まとめ

以上, spacemacs に migemo を導入する方法を記述した. これで avy-jump-word (SPC SPC) で日本語にもジャンプでき,  helm-swoop (SPC s s) でローマ字で日本語検索が可能になる.

機種ごとにまとめた設定ファイルは ここ にある. 前回からの差分は ここ である. なお, わたしはこれを外部ファイル 00migemo.el として, 読みこむように設定している.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中