autojumpを使ってみる - すぎゃーんメモから1年ちょい。
autojumpには非常にお世話になっていたけれども、どうも最近ちょっと重いな、と感じることもあり、そういえばz.shなるものが代替として存在しているという話を聞いたことがあったし、ちょっと使ってみようかな、と思い、入れてみた。
brewでinstallできるようなので、それで。
$ brew install z
==> Downloading https://github.com/rupa/z/tarball/v1.5
######################################################################## 100.0%
==> Caveats
For Bash or Zsh, put something like this in your $HOME/.bashrc or $HOME/.zshrc:
. `brew --prefix`/etc/profile.d/z.sh
ZSH USERS BACKWARD COMPATIBILITY WARNING:
z now handles 'precmd' set up for zsh. z (<=1.3) users using zsh should
remove the precmd function that was described in the installation
instructions for previous versions.
In short, this:
. /path/to/z.sh
function precmd () {
_z --add "$(pwd -P)"
}
should now be:
. `brew --prefix`/etc/profile.d/z.sh
==> Summaryと。以前のものはprecmdを自分で書いてやる必要があったのかな?今は勝手にやってくれるようなので、~/.zshenvに
if which brew > /dev/null; then _Z_CMD=j source $(brew --prefix)/etc/profile.d/z.sh fi
とだけ書いておいた。_Z_CMDに指定したものにaliasが貼られる仕組みらしい。デフォルトではzだけど、さすがに使いにくいのでjにしておいた。
しばらくこれで使い続けてみるつもり。
余談
設定したものの、どうも動かないなぁと思ったら、自分の~/.zshrcでprecmd_functionsを上書きしてしまっていたからだった。
https://github.com/sugyan/dotfiles/blob/53bacac40220a61baa34fe5fb30fbcc5ee5d1c9f/.zshrc#L22
function precmd_vcs() { vcs_info RPROMPT=$'%{\e[32m%}%~'${vcs_info_msg_0_}$'%{\e[m%}' } precmd_functions=(precmd_vcs)
vcs_infoを使って右プロンプトに表示させるやつ(zshでgitのbranch名をPROMPTに表示させるようになるまで - すぎゃーんメモ)。
z.shで_z_precmdをprecmd_functionsに追加してくれているのにこいつで上書きしてしまっているからデータが追加されない。
ということで
-precmd_functions=(precmd_vcs) +precmd_functions+=(precmd_vcs)
と修正して解決。