Linuxでkaoriyaパッチ&migemoを有効にしてvimを最新ソースからインストールした
Linuxで、kaoriyaパッチを当ててmigemoを有効にしてvimをインストールできたので備忘録のためにメモ。
前準備
cmigemoをインストールしておく必要があります。
#cmigemoのインストールは、前記事をご参照ください。
kaoriyaパッチを当てる
vim最新ソース、kaoriya版vimを取得し、vim最新ソースにkaoriya版vimに入っているpatchを当てます。
$ mkdir ~/work $ cd ~/work $ hg clone https://vim.googlecode.com/hg/ vim $ cd ~/work $ wget http://files.kaoriya.net/goto/vim73w32 $ unzip vim73-kaoriya-win32-YYYYMMDD.zip $ cp -pr ~/work/vim73-kaoriya-win32/patch ~/work/vim/ $ cd ~/work/vim $ patch -p 1 < patch/kaoriya-hg.diff
migemoを有効にする
このままconfigure & makeで インストールしてもmigemoは有効になりません。
autoconfでconfigure.inからconfigureを作成する必要があります。
autoconfとautomake(aclocal)が必要なのでなければインストールします。(autoconfは、yumでインストールした版だと古いらしくエラーが出るので、autoconfインストールに必要なm4も合わせてソースからインストールしました。インストール先は/usr/binに上書き。/usr/local/binでもいいかも)
$ sudo yum -y install automake $ cd ~/work $ wget ftp://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz $ tar zxvf m4-1.4.16.tar.gz $ cd m4-1.4.16 $ ./configure --prefix=/usr $ make $ sudo make install $ cd ~/work $ wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz $ tar zxvf autoconf-2.69.tar.gz $ cd autoconf-2.69 $ ./configure --prefix=/usr $ make $ sudo make install
autoconf,automakeがインストールできたら、以下で、migemoに対応したconfigureを作成します。
$ cd ~/work/vim/src $ aclocal $ autoconf
vimインストール
後はconfigure時にLIBS="-lmigemo"としてやり(しないとmake時にエラーが出る)、configureのオプションで、--enable-migemoを指定すればmigemoを有効にしてvimをインストールできます。
migemoのインストール先によっては、LDFLAGS=""でmigemoのlibのディレクトリも指定する必要があるかもしれません。
--enable-migemo以外のオプションはお好みに応じて変更してください。前々記事もご参照ください。
$ cd ~/work/vim/src $ LIBS="-lmigemo" ./configure \ --with-features=huge \ --disable-gui \ --without-x \ --disable-gpm \ --disable-nls \ --enable-multibyte \ --enable-rubyinterp \ --enable-pythoninterp \ --enable-perlinterp \ --enable-cscope \ --enable-migemo $ make $ sudo make install
共有ライブラリパスの指定
migemoのインストール先によってはvim起動時に以下の様なエラーが出るかもしれません。
vim: error while loading shared libraries: libmigemo.so.1: cannot open shared object file: No such file or directory
/usr/local/libにインストールした場合、/etc/ld.so.confに共有ライブラリ配置先を追加し、ldconfigで共有ライブラリを認識すれば起動できるようになります。
$ echo /usr/local/lib | sudo tee -a /etc/ld.so.conf $ sudo /sbin/ldconfig
終わりに
これで、Linuxでも、g/、g?でmigemo検索ができるようになりました。やったね!
ちなみに、前記事で設定したMigemoプラグインとg/、g?の違いはあまり良くわかっていません。。。
g/、g?だと、最初に引っかかるものだけインクリメンタルサーチっぽく飛んでくれるからこちらのほうが便利、あとタイプ数も少ないしねw