読者です 読者をやめる 読者になる 読者になる

【Vim】vimをPHP用のIDEにする

最近はEclipsePHPを書いています。

Eclipseはコード書きづらいけど、
コード補完とか、定義ジャンプとかは便利。

であれば、vimにコード補完とか付ければいーのでは・・・。
ということで、プラグインを使ってvimIDE化した。

結論から言うと、それっぽくはなったけど、
Eclipseと同じクオリティとはいかない。
ただ、慣れればこっちの方がいいかな・・・。

--- 追記 2014/04/30---
操作に慣れれば問題ないけど。
やっぱり補完とか定義ジャンプとかはIDEの方が便利だと思う。

                      • -


以下に導入したプラグインをまとめます。


プラグイン管理】
NeoBundle
これを使えばプラグインのインストールが簡単になる。
これないと色々と面倒なので最初に入れておく。


【非同期実行】
vimproc
非同期実行をするためのプラグイン
各種プラグインの中にはコレがないと動作しないものもある。
インストールしておくといい。


【コード補完】
neocomplcache
コード補完のプラグイン
このプラグインの開発は止まっていて現在は保守のみ。
今後は「neocomplete」が後継になるらしいが、
vim7.3 以上(?)じゃないと動かないっぽい。
現状利用しているバージョンが 7.2 なので、
とりあえず neocomplcache にする。
ちなみに、以下の neosnippet がないと動作しない。


【定型文補完】
neosnippet
定型文補完のプラグイン
for文を書こうとすると、いい感じに括弧などを追加してくれる。
定型文はカスタマイズ可能なので、
自分の使うフレームワークとかに合わせて定型文を追加するといい。


【コピペ履歴管理】
yankround
コピペするときのレジスタを管理してくれる。
レジスタでもいーんだけど、
一応インストールしてみた。


【ファイル管理】
ctrlp
過去にアクセスしたファイルやディレクトリ内のファイルを
管理してアクセスできるようになる。


【ファイルツリー】
nerdtree
ファイルツリーを表示する。
ツリーを表示するとコードを表示させる面積は狭くなる。
ただ、ON/OFFを切り替えられるので普段はOFFにして、
必要なときのみONにするといい。


【構文チェック】
syntastic
ファイル保存時に構文チェックをしてくれる。
結構な種類の言語に対応しているし、
括弧忘れとかのケアレスミス防止にも役立つので重宝する。


【定義ジャンプ】
ctags
これはプラグインではなく、Linuxの機能。
タグファイルというものを生成すると定義ジャンプができる。
ただ、「この定義がどこで呼ばれているか」という検索はできない。
検索可能なcscopeというLinuxの機能もあるが、
ちょっと使い勝手が悪いのでctagsで我慢。
この「定義が呼ばれている場所検索機能」を実装できなかったのが、マイナスポイント。


【クラスのアウトライン】
taglist
クラスのアウトライン(関数名、定数名など)をツリー状で表示し、
アクセスできる。
関数を一覧で見れると便利なのでインストールしてみた。


【PHPDoc用コメント生成】
PDV--phpDocumentor-for-Vim
PHPDoc用のコメントを生成してくれる。
地味にこれは必須。


以上。
これで快適になりました。

暇があれば、各プラグイン導入時にハマったポイントを書いていこうかな・・・。