zsh Function for Catalyst

zsh下でCatalystの作業を楽にしようと思って下記のシェル関数を書いてみました。Catalystはとにかくディレクトリ移動すんのがめんどいから。

とはいえ・・・こんなの「今さらかよ!」な感じがあるし、凄腕の人たちは自前のヘルパーを用意してそうな気がする。


使い方は、下記のシェルスクリプトのコードを.zshrcにでも貼付けて、zshプロンプトで catalyst_init_shortcut という関数を呼び出します。するとショートカットキーが有効になります。meta+m => Modelディレクトリへ移動、meta + v => Viewディレクトリへ移動 といった感じの機能。 プロンプトで コマンドとして m 、 v 、c 等を入力でも大丈夫です。名前が気に入らなければ勝手に変えちゃってください


/.../.../catalyst/MyApp/... というように catalystディレクトリ以下に任意の名前のMyAppアプリのコードがあって、その中で作業していることを前提としています。一応自分のMac/Terminal.app上では問題なく動きましたが、他では分かりませんですです。

  • M +m / $ m => Model ディレクトリへcd
  • M + v / $ v => View ディレクトリへcd
  • M + c / $ c => Controller ディレクトリへcd
  • M + a / $ a => アプリケーションクラスのあるディレクトリへcd
  • M + r / $ r => root ディレクトリへcd
  • $ mvc => model,view,controllerディレクトリを全部表示
  • $ s => ミニサーバー起動 // うまくいかないかも


シェルスクリプトはよく知らない。無駄が多い書き方をしてる気がする。あとシェルスクリプトの関数は実行時に定義されるんですね。初めてしリました。関数をネストさせておけば余計な読み込みをなくせる。


ソース
http://hiroya.dyndns.org/plain/catalyst_shortcut

ソースをダウンロードして、適当なファイル名をつけて source catalyst_shortcut として読み込むか、ソースを直接 .zshrc等に書き付けてください。catalyst_init_shortcut という関数を呼び出すのを忘れずに

ソース最下方にcatalyst_init_shortcutという 関数の中に bindkey '^[m' m とありますが、^[はエスケープなんちゃらという特殊な文字で、普通に入力してもダメです。EmacsだとCtrl+q + [ で入力しなおしてください?