ディレクトリ移動をタギングっぽく効果的にする方法

Unixのシェルにはpushd、popdというコマンドでディレクトリ移動を効果的にする方法が有りますが、登録したディレクトリ情報のスタックを意識しないといけないのが面倒で、私は殆ど利用することがないのですが、その代わり以下のような手順で各ディレクトリに任意のタグ(環境変数)を設定し、後から任意のタグへ自由自在に移動することを実現しています。

以下、tcshの場合の手順ですが、多分、bashなどでも同じ考え方は実現できるかと思います。

  • aliasを設定するために、.tcshrcなど以下の定義を追加する。
alias   setdirenv       'setenv \!* `pwd`'
  • 再ログイン、または.tcshrcを読み込む。
  • 登録したいディレクトリに移動後、任意のタグを登録する。
setdirenv <タグ名>
cd $<タグ名>         <= tcshならtabキーを押すとタグ名が補完できます。

個人的に利用しているプチテクニックなので、どなたでも汎用的に利用するためにはWindows上で動作するCygwinのようにディレクトリ名にスペース文字が含まれている場合の考慮や既に登録されていたタグ名が有った場合に更新するか確認するような機能が必要かと思いますが、環境変数名の補完機能やコマンドラインエディットモードが有るtcshで利用するとかなり便利だと思いますよ〜。(^o^)v