Vim で PHP 開発するためにやってる設定 3 つほど

Vim で PHP 開発するためにやってる設定 3 つほど

どうもこんにちは、インフルエンザ明けの nakamura です。寝過ぎて腰痛めたっつーの。

以前は IDE 使ったりもしていましたが、ここ数年 PHP 書く際は Vim を使ってます。Vim に関してはまだまだ初心者から抜け出せてないんですが、PHP 用にやってる設定をいくつか紹介してみたいと思います。こんなのもやっとくと便利だよとかあれば教えて教えてー。

関数名とか補完

Vim には辞書ファイルを読み込んで補完に使える機能があります。ということで、とりあえず PHP 組み込みの関数や定数の辞書ファイルを作りましょう。

作り方は色々あると思いますが、僕はいつも以下のサイトのスクリプトを使わせてもらってます。

リンク先にも書かれてますが、dict.php をダウンロードしたら以下で組み込みのクラス名、関数名、定数名等の一覧が作れます。

php dict.php | sort > ~/.vim/dictionaries/php.dict

補完機能については neocomplecache というプラグインを使ってます。.vimrc の設定は以下のような感じ。

" set: dictionary= で辞書ファイルを指定
autocmd BufRead *.php\|*.ctp\|*.tpl :set dictionary=~/.vim/dictionaries/php.dict filetype=php

NeoBundle 'Shougo/neocomplcache'

let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_enable_camel_case_completion = 1
let g:neocomplcache_enable_underbar_completion = 1
let g:neocomplcache_smart_case = 1
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_manual_completion_start_length = 0
let g:neocomplcache_caching_percent_in_statusline = 1
let g:neocomplcache_enable_skip_completion = 1
let g:neocomplcache_skip_input_time = '0.5'

プラグインの管理には neobundle.vim を使わせてもらってます。この辺り も参考にしてみてください。

こんな感じで一覧が表示されれば OK!

20130226_nakamura_01.png

neocomplecache 使ってない人は Ctrl+x, Ctrl+k で補完候補の一覧を呼び出せますよ。

ファイル保存時にシンタックスチェックする

これも方法はいくつかありそうですが、僕は syntastic というプラグインを使っています。今の所 PHP にしか使ってないけど色んなファイルタイプで使えるみたいだし。処理としては内部的に php -l しているみたいです。

.vimrc はこんな感じにしてます。

NeoBundle 'scrooloose/syntastic'

let g:syntastic_check_on_open = 1
let g:syntastic_enable_signs = 1
let g:syntastic_echo_current_error = 1
let g:syntastic_auto_loc_list = 2
let g:syntastic_enable_highlighting = 1
" なんでか分からないけど php コマンドのオプションを上書かないと動かなかった
let g:syntastic_php_php_args = '-l'
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

ファイルを保存すると以下のようにエラー行にマークが表示されれば OK です。:Errors と打つとエラーメッセージが表示されます。

20130226_nakamura_02.png

ブラウザリロードしたら PHP Parse error でイラっとする回数が減りました!

Vim で PHP のマニュアルを見れるように

vim-ref というプラグインを使うと Vim 上で PHP マニュアルを参照することが可能になります。Vim とブラウザの間を行ったり来たりしなくてよくて、とっても楽チン。

まずはマニュアルをダウンロード、展開します。以下ページからお好きな言語の『Many HTML files』をダウンロード、任意の場所に展開してください。僕は ~/.vim/refs 以下に展開しました。

lynx コマンドが必要らしいので入っていなければインストール。

sudo yum install lynx

ここまで来たら .vimrc に以下を書いて :NeoBundleInstall! すれば利用可能になります。

NeoBundle 'thinca/vim-ref'

let g:ref_phpmanual_path = $HOME . '/.vim/refs/php-chunked-xhtml'

実際にマニュアルを参照するにはコマンドモードで以下のように実行してください。echo のマニュアルを見る例です。

:Ref phpmanual echo

20130226_nakamura_03.png

ひゅ~~!表示されたー!

終わりに

Vim もっと使いこなしたいな~。

参考リンク

photo
Vimテクニックバイブル ~作業効率をカイゼンする150の技
Vimサポーターズ
技術評論社 2011-09-23

by G-Tools , 2013/02/26

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ