CentOSにvim7を入れてphp補完
emacsのphp-modeを最低限試してみたので、今度はvimでやってみました。どうやらvim7で実装されたomni補完(候補のリストが出てきてそこから選ぶ系の補完)がいいらしいんだけど、CentOSのyumで提供されているのは6.3。タブも使えません。そこで、手動で入れるところからスタート。
vim7のインストール
まず、yumで入れたvimを削除しようと、yum remove vim* して削除対象パッケージを見てみると…
vim-enhanced i386 1:6.3.046-0.40E.7 installed 956 k vim-common i386 1:6.3.046-0.40E.7 installed 3.4 M vim-minimal i386 1:6.3.046-0.40E.7 installed 459 k sudo i386 1.6.7p5-30.1.3 installed 336 k
いや、sudoとか消されても困るんですけど。自分で入れたのはvim-enhancedとそれに依存するvim-commonなので、とりあえずその2つ だけ削除することに。
次に、ここを参考にしてビルド。configureオプションに --prefix=/opt/vim を追加してmake。
/optにインストールするのは尾藤さんお勧めの設定。
そんなこんなで、無事にvim7インストール完了です。これでやっと補完を試せる準備が整いました。
オムニ補完でphpの関数をリストアップ
を見ると、ファイルタイプ毎に補完用の辞書を自動設定してくれるらしい。まずは試しに、コマンドラインから、
:set omnifunc=phpcomplete#CompletePHP
と入れて、^x-^oでphpの関数補完ができました。流石に辞書ファイルからキーワード補完してるだけあって速いし、おまけに引数のリストも表示してくれるのが素敵です。
最初は、うまく補完してくれなくてあれ?と思ったんですが、<?phpの外では補完が効かないようになっているようです。なかなかやりおるわい。
他にも何かと充実してそうなので、ひとまずオンラインの作業はvimでやっていく方向で。emacsでもキーワードリストのファイルを作って、それを元に補完するlispとか書けばいけるんだろうけど、流石にそこまでの労力はかけてられないので… 誰かxyzzyのphp-mode をemacsに移植したりしないもんですかね?