前回のエントリはこちら:Macにvimをインストールしてみる。 - hellkite 日記と雑記とメモ。
Vim7.0を簡単においしくインストールしようと調べていたが、結局何もしないで完璧なものは手に入らないことがわかったので、重い腰を上げてソースからインストールすることにした。
手順自体はこれを参考にした。
Vim7.0 + KaoriYa を Mac OSX にインストールする
それでもかなり苦戦したのでメモすることにする。
事前準備
Mac OS X用開発環境。OSのインストールCDに入っているものを導入。
MacPortsと同じようなパッケージ管理ソフト。
ソースのダウンロードなどに使用。だが、動作しなかったので使用しなかった。
- 7za
Windows用KaoriYa版が7z形式で圧縮されているため、ファイルを解凍するのに必要。
実は後々ハマった。
ソースのダウンロード
手順通りだと、C/Megemoのインストールからですが、使わないのでVimのダウンロードに飛びます。
ここで、
としたんですが、ファイルがダウンロードできなかったので、以下のURLをSafariにぶち込んでダウンロードしました。
ftp://ftp.vim.org/pub/vim/unix/vim-7.0.tar.bz2
ftp://ftp.vim.org/pub/vim/extra/vim-7.0-extra.tar.gz
ftp://ftp.vim.org/pub/vim/extra/vim-7.0-lang.tar.gz
そして、それぞれのファイルを解凍。これでソースの準備は完了。
パッチの適応
手順通りに、Windows用のVim7のファイルをダウンロード。
そして、
7za x vim7-daily-w32j.exe
としてみたが、7zaが起動しない。
なんで?どして?
実は7zaのパッケージをインストールしても、PATHが通っていないことがわかりました。
7zaのReadMe.rtfに目を通してみると、
You will have to add /usr/local/bin to your shell PATH.
らしい。
VIM の Portfile に KaoriYa パッチなど追加: きりかノート
ここを参考に、シンボリックリンクをつくることにした。
sudo ln -s /usr/local/bin/7za /usr/bin/7za
これで解凍できるようになる。
7za x vim7-daily-w32j.exe
解凍終わったら、手順に従いパッチをあてる。
cd vim-7.0
cat ../vim7-daily-w32j/patches/* |patch -p0
patchの前は記号の'|'なので間違えないように。*1
手順通りパッチを適応。
http://2xup.org/repos/vim/configure.diffをDLし、
cd vim-7.0
cat ../configure.diff |patch -p0
Vimのコンパイルとインストール
./configure --with-features=big --enable-multibyte
make
sudo make install
ここまでやって/srcにできたVim.appを起動してみる。
Error detected while processing /Users/koheiyamamoto/tmp/vim-7.0/runtime/lang/menu_japanese_japan.932.cim:
line 22:
E35: No previous regular expression
…これって…前回インストールしたパッケージと同じメッセージじゃん(汗
メニューは文字化け。ダメかな?と思って日本語入力してみたらやっぱり文字化けして使い物にならなかった。
続いて、vimを起動してみる。…が、こちらも日本語入力ができない。
というわけで、Vimのインストール計画は無残にも惨敗に終わった。
もはやできることはMacOSXが標準でVim7.0を入れてくれることを待つのみだろうか。でも標準で入ってるVimも日本語入力ができないんだよなぁ(+_+)
フォントが日本語対応でないとか、そういう問題でもなさそうなので困りました…。
***追記***
Using Japanese on Vim for Mac OS X
ひょっとして、設定ファイルを書いてないってだけの理由なのか??
後でやってみよう。
***追記の追記***
ダメでした…(´Д⊂グスン
***追記の追記の追記***
あ、日本語入力できるようになってました(ぉ
でも、日本語変換は別のウィンドウ内でやらないとダメっぽい。使いづらい…
***追記の追記の追記の追記***
ははぁ、直接Window内に入力できるってのが問題のインラインってやつなのか。
時間できたらまた検討してみることにする。
*1:小文字のLを打って思いっきりエラーを出した…