Home > Tags > zsh

zsh

ターミナルをちょっと便利にするスクリプト

dirctx を使ってる terminal

dirctx を使ってるterminal

最近、自分が扱うバージョン管理ツールの数が増えてきました。自分はターミナルで作業することが多いのですが、あるバージョン管理されているディレクトリに cd したときに、パッと見でそれが分からないのを不便だと感じてました。

そこで、バージョン管理されているディレクトリに入ったら、どの scm で管理されているのかをターミナルに表示するスクリプトを書いてみました。右のスクリーンショットの中で、右の方に

subversion: branches/lazy_request
mercurial: newbranch
git: master

といったものが表示されているのですが、そういった装飾をターミナルに追加してくれます。ちっちゃなことですが、一目で分かるようになったので割と便利。

ものは dirctx というスクリプトで、このスクリプトは $DIRCTX という変数を export します。これを zsh なら PROMPT とか RPROMPT の中で使用してあげればスクリーンショットのような表示をすることができます。

ターミナルの装飾部分のコードはこんな感じ(実際は色を変更したりしてる)

source $HOME/.zsh.d/dirctx # dirctx を読む
RPROMPT='$DIRCTX'

dirctx スクリプト自体は bash でも使えるはずなので、上記の RPROMPT の編集部分だけ変更すれば(PS1とか?)多分動きます。

スクリプトは、http://github.com/kjim/config/tree/master/.zsh.d/dirctx に置いてあります。

一応、インスパイア元は zsh の prompt に git のブランチ情報を表示CommentsAdd Star - unknownplace.org で、perl スクリプトを実行する方法からはじめました。でもやっぱりもっさり感があったのでプロンプトを表示するタイミングにスクリプトを実行するのはやめて、ディレクトリに cd したりするタイミングで特定の変数の値を管理するという方法に落ち着きました。

Home > Tags > zsh

Search
Feeds
Meta

Return to page top