cake.vimはCakePHPで開発する全てのvimmerがインストールすべき

skitch1Z9PNI skitchRhJK6G

cake.vimが便利です。便利すぎるので、CakePHPで開発しているvim使いは全員インストールすべきです。

作者による使い方まとめはこちら。

cake.vimはどういうものかというと、

CakePHPのController、Model、View間の移動を少し楽にするプラグインです。

CakePHP用のvimプラグイン、『cake.vim』を作ってみた。

ということで、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記事アップするだけ」なので、内容は指定されていません)

コメント / トラックバック

コメントは受け付けていません。