CentOS の最新版となるリリース 5.5
が出ていたのでインストールしてみた。インストール自体はさくっと終了した(この辺参照。)のだが、Vim のバージョンが古いせいか、愛しの FuzzyFinder プラグインが使えない!
$ vim /home/delphinus/.vim/plugin/fuf.vim の処理中にエラーが検出されました: 行 11: FuzzyFinder does not support this version of vim (700). 続けるにはENTERを押すかコマンドを入力してください
しょうがないので最新版をソースからもってきてインストールしてみた。これには以下のサイトが非常に参考になった。
オデの日記@WEB系: vimインストールで’os_unix.c:45:30 error: selinux/selinux.h: No such file or directory’というエラーが出る
http://koexuka.blogspot.com/2009/05/vimosunixc4540-error-selinuxselinuxh-no.html
必要なファイルの準備
# ソースのダウンロード $ wget ftp://ftp.jp.vim.org/pub/vim/unix/vim-7.2.tar.bz2 $ wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz $ wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz # パッチのダウンロード $ mkdir patches $ cd patches $ wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.001-100.gz $ wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.101-200.gz $ wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.201-300.gz $ wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.301-400.gz $ curl -O ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.[401-444] # 予め解凍しておいた香り屋版パッチも入れておく $ cp ~/vim-kaoriya-w32j/patches/kaoriya-hg.diff . $ cd ..
最後は香り屋版 Vim に含まれるパッチだ。別に入れなくてもいいのだが、お好みで。
$ tar jxvf vim-7.2.tar.bz2 $ tar zxvf vim-7.2-extra.tar.gz $ tar zxvf vim-7.2-lang.tar.gz $ cd patches $ gunzip *gz $ cd ../vim72 $ for i in `ls ../patches/7.2.*`; do patch -p0 < $i; done $ patch -p1 < ../patches/kaoriya-hg.diff
見たまんまである。次はいよいよコンパイル
コンパイルとインストール
$ cd src $ ./configure --enable-multibyte --with-features=huge --disable-selinux $ make $ sudo make install
今回インストールした CentOS には X は含まれておらず、また、SELinux も無効にしてある。それが理由か否か最初はmake
できなかったのだが、上に挙げたサイトにある通り、--disable-selinux
オプションをつけたことでうまく行った。
無事起動して、FuzzyFinder プラグインを使っているところ。画面下部に不自然な空白があるような気もするが、使うに差し支えないので気にしないことにする。ヘルプをよくよく読むと、この空白はプレビュー領域じゃないか! 全然使ってなかったorz ちなみにプレビュー領域の広さは let g:fuf_previewHeight = 5
等と指定して変更するようだ。
おまけ : FuzzyFinder プラグイン
vimに欠かせない3つのプラグイン | tech.kayac.com – KAYAC engineers’ blog
http://tech.kayac.com/archive/vim-3-plugin.html
上記の 3 つの中でも、Vim 使いなら FuzzyFinder プラグインは便利すぎて感動すること必至。始めは色々設定に凝ったのだが、僕には結局次の 2 行だけで十分だったみたいだ。
noremap <C-P> :FufBuffer!<CR> noremap <C-N> :FufFile!<CR>