vim で PHPソースコードの整形を行なう方法
2011/03/15
2011/03/17
汚ないPHPソースコードを触る場合は、まず整形したくなります。PHP用のeclipseを使っても、javaのフォーマット程真面目には整形してくれないようだったので、 vimでのフォーマット(gg=G など)だと、インデントの修正だけで、細かい部分(演算子の両脇にスペースを入れるなど)までは整形できません。 vimで開いているPHPのソースコードを細かく整形する方法を調べたところ、phpStylistというものを使って実現できました。 (テスト的に試したところうまく整形できているようですが、使い初めなので、不都合がでるかもしれません)
以下、設定方法です。
ダウンロード
- http://sourceforge.net/projects/phpstylist/ から、phpStylist-1.0.zipをダウンロードする。
インストール
$ mkdir -p ~/tmp/phpStylist $ cd ~/tmp/phpStylist $ unzip <ダウンロードディレクトリ>/phpStylist-1.0.zip $ mkdir -p ~/bin $ cp phpStylist.php ~/bin/ |
vimから呼び出し用のスクリプト作成
- ~/bin/phpStylist
#!/bin/sh BASE=$(dirname $0) php $BASE/phpStylist.php $1 \ --indent_size 1 \ --indent_with_tabs \ --keep_redundant_lines \ --space_after_comma \ --space_around_assignment \ --space_around_comparison \ --space_around_arithmetic \ --space_around_logical \ --space_around_colon_question \ --space_after_if \ --else_along_curly \ --add_missing_braces \ --line_after_break \ --space_inside_for \ --indent_case \ --vertical_array \ --align_array_assignment \ --space_around_double_arrow \ --space_around_concat \ --line_before_comment_multi |
vimプラグイン配置
- ~/.vim/plugin/phpStylist.vim
function! s:PhpStylist() execute "w" normal ggdG execute "0r!~/bin/phpStylist %" normal Gdd endfunction command! PhpStylist call <SID>PhpStylist() |
実行
vimでphpファイルを開いている状態で、:PhpStylist を実行すると、開いてるファイルの内容をphpStylistで整形後の内容に置き換えます。ところどころ強引な力技がはさまれてますが、一応うちの環境では使えるようになりました。
1件のピンバック
VimでPHPのコーディング規約チェック&整形 | SanRin舎