cake.vimはCakePHPで開発する全てのvimmerがインストールすべき
cake.vimが便利です。便利すぎるので、CakePHPで開発しているvim使いは全員インストールすべきです。
作者による使い方まとめはこちら。
cake.vimはどういうものかというと、
CakePHPのController、Model、View間の移動を少し楽にするプラグインです。
ということで、vimで開いているCakePHP系ファイルの「移動」に特化したプラグインです。まあこれが多彩で気が効いています。
「gf」と「:Ccontroller」は覚えるべき
僕が最もよく使う機能である「gf」と「:Ccontroller」の2つが便利なので、ぜひ覚えましょう。
gf でカーソル下の文脈から移動できる
「gf」とタイプすると、カーソル上のコードの文脈から、よしなに移動してくれます。
コントローラからビューへ。
- Postsコントローラの function index() { → views/posts/index.ctp
- 同コントローラで $this->render('csv'); → views/posts/csv.ctp
モデルへ。超使う。
- $this->Post->find('all') → models/post.php
ヘルパーへ。
- var $helpers = array('Post'); → views/helpers/post.php
- ビューファイル上での <?= $this->Post->truncate($str) ?> → views/helpers/post.php
AppControllerへ。
- class PostController extends AppController { → app/controllers/app_controller.php (or app/app_controller.php)
elementへ。これも超使います。
- $this->element('pager') → app/views/elements/pager.ctp
そしてなんと、cakeディレクトリ内への移動にも対応しています。ソースを追うときに超便利。
- var $components = array('Session'); → cake/libs/controller/components/session.php
- Set::extract('/Post', $posts); → cake/libs/set.php
gfでは同一バッファで移動しますが、<C-w>fで上下分割で開くことができ、<C-w>gfだと新タブで開けます。
「:Ccontrolelr」でビューから対応するコントローラへ移動できる
ビューファイルのバッファを開いているときに、対応するコントローラへ移動するコマンドです。
CakePHPで開発していると、「最初にビューファイルを開く」ことがよくあります。そして当然そのビューに対応するコントローラを開くことになるのですが、ビューのバッファから「:Ccontroller」で対応するコントローラに移動することができます。便利です。
さらにビューに対応するアクションのfunctionへカーソル行も移動した状態で開かれます。気が効いています。
ちょいと長いコマンドですが、:Cc<Tab>で補完できますし、vimなのでショートカットを割り当ててもいいでしょう。
テーマビューや複雑なビューディレクトリにだって対応
コントローラからビューを開くときに、テーマビューがあるときもちゃんと対応しています。通常ビューとテーマビューが両方あったりして、複数マッチした場合には選択肢が現れます。
また、テーマビューを使わずに以下のようにビューディレクトリの中に自前のディレクトリを掘った場合でも、再帰的に検索してくれます。
views/posts/pc/index.ctp
views/posts/sp/index.ctp
↑ ちゃんと検索してくれて、選択肢が出ます。
他にも沢山のコマンドやがあり、どれもたいへん便利です。vimでCakePHPな方はぜひどうぞ!
(このブログ記事はココナラで出品したブログを1本、24時間以内に強制的に書きます | ココナラ[coconala]の発注によって書かれました。単に「なんでもいいので1記事アップするだけ」なので、内容は指定されていません)
コメント / トラックバック