By | 2012年3月2日

zsh使いなら効率改善のため知っておきたいAUTOJUMP」をみて便利そうだったのでさっそく AUTOJUMP を使ってみることに。
使い方はリンク先をみてください

補完関数を自分で配置とあったのですが配置せずにいけました。

# brew install autojump

(※)brew –prefix が /usr/local 前提ではなします。

これでインストールはおしまい。

/usr/local/etc/autojump をよみこめばはれて autojump が使えます。
このへんはログにでてきますね。

.zshrc

BREW_PREFIX=`brew --prefix`
if [ -e $BREW_PREFIX/etc/autojump ]; then
    source $BREW_PREFIX/etc/autojump
fi

ただこのままだと fpath に/usr/local/share/zsh/functions が入っていない場合だと補完関数がきかないため不便です。
/usr/local/share/zsh/functions/_j に自動でシンボリックリンクがはられるため。

というわけで fpath を追加するか自分の好きなところにシンボリックリンクをはりましょう。

今後 homebrew でいれた zsh の拡張コマンドを使えるようにしたかったので今回は fpath を追加します。
fpath の変更は compinit を実行する前にしておかないと読み込まれませんので注意が必要になります。
地味にはまりました。

.zshrc

if [ -x /usr/local/bin/brew ]; then
    BREW_PREFIX=`brew --prefix`
    fpath=($BREW_PREFIX/share/zsh/functions(N) $BREW_PREFIX/share/zsh/site-functions(N) $fpath)
fi
autoload -U compinit; compinit -u

functions はバージョン依存がなく site-functions は active の zsh の site-fuctions をさしている感じです。

autojump 便利ですね。かなりいい
おしまい

追記

ログの出力先が XDG_DATA_HOME に依存しています。
昔 ports で shard-mime-info をいれていたので XDG_DATA_HOME を設定していたために permission denied がでて地味に悩みましたとさ