unite-zf.vim と unite-sf2.vim
GitHub - heavenshell/unite-zf: A unite.vim plugin for Zend Framework
GitHub - heavenshell/unite-sf2: A unite.vim plugin for Symfony2
(unite-rails と unite-cake をパク参考にしました)
unite.vim のプラグインで Zend Framework と Symfony2 関連のファイルを表示する。
rails と cake があるのなら、Zend Framework も出来そうだったので作ってみた。
# Zend Framework が出来たらついでに Smyfony2 も作った
# 基本動作は同じ
アプリケーションのディレクトリに行き以下のコマンドを実行する。
:Unite zf/ :Unite zf/application :Unite zf/configs :Unite zf/controllers :Unite zf/filters :Unite zf/forms :Unite zf/helpers :Unite zf/layouts :Unite zf/models :Unite zf/modules :Unite zf/plugins :Unite zf/services :Unite zf/tests :Unite zf/views
application は app でも使えるようにした。
また locales と resources というディレクトリがある場合は追加で表示する。
# /path/to/app/resources でもいいし、/path/to/resouces (app と同階層)でも表示する。
Symfon2
:Unite sf2/ :Unite sf2/app :Unite sf2/app/config :Unite sf2/bundles :Unite sf2/app/views :Unite sf2/web
src の下に Bundle 単位であるけど、これが動的に変わるので実装がめんどかったので、現状 Bundle 名しか表示しない。
え?コマンド?使えません…。
追記(2010/05/28 22:40)
Bundle の中のも設定できるようにした。
.vimrc にこんな感じで書くと、Bundle の中の Controller やら Entity も使える。
let g:unite_source_sf2_bundles = { \ 'FooBundle': 'FooBundle', \ 'BarBundle': 'BarBundle', \ 'AcmeDemoBundle': 'Acme/DemoBundle'. \ }
この場合 :Unite sf2/{FooBundle, BarBundle, AcmeDemoBundle}/Controller みたいな感じになる。
nnoremap <silent> [unite]c :<C-u>Unite -buffer-name=sf2 sf2/DemoBundle/Controller<CR>
モディファイアキーと "c" で立ち上がる。
って書いておいて思ったけど .vimrc に一々キーマップ書かないといかんな。
どないしたもんか…。
Vim script 力が弱すぎて良い対処方法が思いつかない。