Cocoa Emacs に migemo をインストール

るびきち著「Emacsテクニックマニュアル」のなかではインストール手順が、

  $ ./configure && make && sudo makeinstall

とだけ表記されていて、WanderlustとDDSKK同様インストールに苦労させられた、ローマ字でインクリメンタルサーチをしてくれるmigemoのインストールについてメモします。 最初は、migemoではうまくいかないという情報が多くヒットしたため、cmigemoをインストールしようとしていましたが、結局、migemoでうまくいったので、うまくいったやりかたを残しておきます。

migemoとは

Migemo はローマ字のまま日本語をインクリメンタル検索するため のツールです。かな漢字変換をすることなく日本語のインクリメン タル検索を快適に行うことができます。
Migemo: ローマ字のまま日本語をインクリメンタル検索

環境

前提

rubyはMacPorts経由でインストールされている前提です。 AquaSKKをインストールしているため、SKKのL辞書はAquaSKK用にダウンロードされているものをコピーしています。 必要であればSKK辞書 - FreeStyleWikiを経由してダウンロードしてください。

~/src

各種EmacsLispのソース置き場です。 tarの展開、cvsのチェックアウトはこちらで実行します。

~/.emacs.d

配下に起動時に呼ばれるinit.elがあります。

~/.emacs.d/lisp

Unix環境でいうところの/usr/share/emacs/site-lispに当たる場所とします。

~/.emacs.d/lib

こちらの配下にmigemoの辞書を操作するrubyライブラリを配置するようにします。

~/.emacs.d/share

こちらの配下にmigemoの辞書データを配置するようにします。

インストール手順

  • migemoのアーカイブ
  • migemo用の辞書の元になるSKKの「L辞書」
  • romkan.rb
  • bsearch.rb

以上を用意してインストールを行います。

SKKのL辞書はAquaSKK用に自動取得されているものをコピーして利用しています。

$ cd ~/src
$ wget http://0xcc.net/migemo/migemo-0.40.tar.gz
$ wget http://0xcc.net/ruby-romkan/ruby-romkan-0.4.tar.gz
$ wget http://0xcc.net/ruby-bsearch/ruby-bsearch-1.5.tar.gz
$ tar xvfz migemo-0.40.tar.gz
$ tar xvfz ruby-romkan-0.4.tar.gz
$ tar xvfz ruby-bsearch-1.5.tar.gz
$ cd migemo-0.40
$ cp ../ruby-romkan-0.4/romkan.rb ./
$ cp ../ruby-bsearch-1.5/bsearch.rb ./
$ cp ~/Library/Application Support/AquaSKK/SKK-JISYO.L ./
$ ./configure --prefix=$HOME/.emacs.d 
> --bindir=/Applications/MacPorts/Emacs.app/Contents/MacOS/bin 
> --with-emacs=/Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs 
> --with-lispdir=$HOME/.emacs.d/lisp --with-rubydir=$HOME/.emacs.d/lib/ruby/site_ruby 
> --datadir=$HOME/.emacs.d/share
$ make
$ sudo make install

.emacsへの記述

;; 
;; migemo
;; 
(setq migemo-command "migemo")
(setq migemo-options '("-t" "emacs"))
(setq migemo-dictionary (expand-file-name "~/.emacs.d/share/migemo/migemo-dict"))
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setenv "RUBYLIB" "~/.emacs.d/lib/ruby/site_ruby/")

(require 'migemo)

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?