cake.vimにローテーションジャンプ機能をつけてみた

githubにあるcake.vimに、ローテーションジャンプ機能をつけてみました。

関連するファイルを巡る

この機能を使うと、頭の中で「コントローラのファイルを開こう」とか考えなくても
適当にぐるぐる巡ってジャンプすることができます。

たとえば、現在開いているファイルがモデルの時(下の★)
関連するコントローラ(1つ前)やテストモデル(1つ先)にジャンプできます。

開く対象がない場合はスキップします。

 (フィクスチャへ)
  ↑↓
 テストコントローラ
  ↑↓
 コントローラ
  ↑↓
★モデル
  ↑↓
 テストモデル
  ↑↓
 フィクスチャ
  ↑↓
 (テストコントローラへ)

ローテーションするファイルの種類や順番は変更できます。
.vimrc等にg:cakephp_related_group をリストで設定します。

" モデル、フィクスチャ、テストモデルの順番に変更
let g:cakephp_related_group = ['model', 'fixture', 'testmodel']

キーバインド

デフォルトでは次のように設定されています。

キーバインド* 機能* 備考*
[f 1つ前の関連ファイルへジャンプ g:cakephp_keybind_related_nextの値で設定変更可能
]f 1つ先の関連ファイルへジャンプ g:cakephp_keybind_related_prevの値で設定変更可能


gfにあわせて覚えやすそうな]fと[fをデフォルトに当てたけど、
helpには推奨されないって書いてあるので、大丈夫かどうか不安です。


実験的に作ってみたので、改善していけたらいいなぁと思っています。