あなたの目が嫌いと囁くメニューコンテンツへ移動ホーム歌♪ミュージカル詰将棋みたまんまMECC「z」と「z-fish」と「sh/ksh」版コメントをどうぞ今日は「z」というディレクトリ移動ツールのお話。「z-fish」とは「z」の「fish」シェル版です。「z」は、先に紹介した「autojump」と目的は同じですが、優先するディレクトリの判定方法に違いがあります。曰く、今まで何回も訪れたディレクトリ同様、最近になって頻繁に訪れているディレクトリも重要だろうと。(たぶん)「autojump」がpythonで実装されているのに対し、「z」はシェルスクリプトのみで実装しているところも違います。この「z」が「bash」シェル「zsh」シェル対応なので、「fish」シェル用に書き直されたのが「z-fish」というわけです。インストール方法から。–prefix`/etc/profile.d/z.shこの一行を書いて終わりです。「z-fish」のインストールは、少し手間がかかります。https://github.com/sjl/z-fish.gitとすると「z-fish」というディレクトリが作成されてファイルがダウンロードされます。その中の「z.fish」をどこでも適当な場所に置きます。(私は環境の都合上「/opt/local/etc」に置きました)それから、「~/.config/fish/config.fish」に以下を書いておきます。/opt/local/etc/z.fishendディレクト名は適時書き換えてくださいね。"$PWD"を書いておきます。使い方は、「autojump」の「j」コマンドと同じく「z」コマンドでディレクトリを移動します。「z」と入力した場合は、現在のデータベースの順位順にディレクトリを一覧表示します。bで「/usr/local/bin」に移動するかもしれません。「z」のデータベースは「~/.z」なのですが、ちと構成が理解しづらいところがあります。私が「autojump」と併用している理由は、他のシェル用に展開するのにデータベースを利用しやすいから、というのと、「z」の真価をまだ評価中だからであって、普通はどちらかだけで良いと思います。・・・タイトルに書いた「sh/ksh」版を説明します。最初に触れたように「z」はシェルスクリプトで書かれています。「z-fish」というものも生まれたのですが、「ksh系」シェルや「dash」シェルにはどちらも使えません。そこでこれらシェル用に、「autojump」と「z」と両方埋め込んだスクリプトを作りました。license」(どうぞご勝手に)ということですので、以下そのまま掲載します。2>&1)'$PS1}長いですが、ローカル変数の使用をやめたくらいで、実際はほとんど変わっていません。プロンプトの関係で「autojump」と「z」を同居させた、というのが追加部分です。/opt/local/etc/jz.shとでも書いておけば、「dash」シェルや「ksh系」シェルで「j」コマンドと「z」コマンドが使えるようになります。「autojump」が重複するようでしたら、ごめんなさい。こちらを優先ということでお願いします。WordPress%d人のブロガーが「いいね」をつけました。