Tag Archives: Zsh

git-flowとgit-issueを使ったTiDD環境について | Technology-Gymにて、
git-flowgit-issueを組み合わせた使い方を紹介しましたが、チケットを切るときに手動でチケット番号を入力するのがとても面倒でした。

今回は、それをpercolというパイプで渡したものをanything的な絞り込み/選択できるCLIツールを使って楽にできるようにしました。
percolについては下記を参照して下さい。

percol は入力の1行を1候補として,部分一致かつ AND 検索で絞り込みし,選択した候補を出力するコマンドです.端的に言えば Emacs の anything.el のコマンド版です.
anything 的な絞りこみコマンド percol の紹介 – 備忘録

書いてみたコマンドは以下のようなものです。
動作確認はzsh 4.3.11とgit-issueはredmineのみしか確認してないです。
(多分Gtihub向けは少しいじる必要があると思います。)

  • git-issue listからチケットを選んでgit flowのfeatureブランチを作る
  • git-issue listからチケットを選んでチケットを終了&100%
  • git-issue listからチケットを選んで詳細情報の表示

上記のような関数をzshの設定に定義して、bindkeyで適当にCtr+B -> Ctrl+F/U/I な感じのショートカットを設定して利用してます。
git-issue v0.8.4からANSI Colorがデフォルトで付くようになったので、percolに渡す部分では–no-colorオプションを適応しています。

言葉だと少し分かりにくいので、codestre.amを使って録画したものを載せておきます。

codestre.amの幅の問題で表示が若干崩れてますが、横幅を十分に持てば崩れないので大抵は大丈夫だと思います。
動画では上記のスクリプトを使ってgit-flowでチケットを切って処理する感じのデモをやってます。

percolを使えば、redmineのチケット番号を手動で入力することなく利用できるようになったのでかなり効率よくなったと思います。

今まではBashを使用していましたが、以前から話に聞いていたzshを導入してみました。
zshは初めてだったので、最初から簡単に使えるように設定などをしてくれるoh-my-zshを入れて使用しています。

oh-my-zshのインストールはshスクリプトを実行するだけでできるので導入も手軽です。手動でやる場合は、上記のサイトを見てやるのがいいでしょう (ログインシェルも勝手に変更されるそうなので、そういうのが気持ち悪い方は手動でやるほうがいい)

[cc lang="bash"]wget –no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O – | sh[/cc]

インストールして、ターミナルを再起動するかsourceで設定ファイルを読み込むことで適応されます。

[cc lang="bash"]~ source .zshrc [/cc]

このままでも結構便利になりますが、oh-my-zsh を使って zsh の便利な設定をまとめて取り入れる – ess supで書かれているように、テーマやプラグインの設定をすることができます。

テーマはデフォルトのままでも使いやすかったのでそのままにして、プラグインを幾つか読み込むようにしました。
プラグインといっても、補完候補が増えたりエイリアスがついたりするぐらいです。
プラグインの設定は.zshrcを開いて、pluginsと書いてある場所にスペース区切りで読み込むものを指定するだけです。

[cc lang="bash"]plugins=(git brew autojump)[/cc]

gitプラグインはgitコマンドの補完で、brewプラグインはHomebrewの設定や補完で、autojumpプラグインはautojumpというコマンドラインユーティリティの設定をするプラグインです。
oh-my-zshで用意されてるプラグインはPlugins – GitHubに書かれています。

他のzshについての設定は~/.oh-my-zsh/customディレクトリにzshファイルを作れば自動的に読み込んでくれるので、エイリアスを書いたファイルとかパス設定をするファイルなどを分けて置けるので便利です。

たったこれだけの設定でも、gitのブランチがプロンプトに表示されたり、gitコマンドのオプション補完もできるので使いやすくなります。

201108132100.jpg

oh-my-zshから入って簡単にzshの良さを知ってから、zshを本格的に触っていくのも良いのではないでしょうか。