diff --git a/zsh/fasd.zsh b/zsh/fasd.zsh index 06e59e33..81c895c9 100644 --- a/zsh/fasd.zsh +++ b/zsh/fasd.zsh @@ -1,16 +1,17 @@ +# # only init if installed. -if [[ -f $HOME/.fasd ]]; then - # Initialize fasd (https://github.com/clvv/fasd) - eval "$(fasd --init posix-alias zsh-hook)" - - # aliases - - # jump to recently used items - alias a='fasd -a' # any - alias s='fasd -s' # show / search / select - alias d='fasd -d' # directory - alias f='fasd -f' # file - alias z='fasd_cd -d' # cd, same functionality as j in autojump - alias v='f -e vim' # quick opening files with vim +fasd_cache="$HOME/.fasd-init-bash" +if [ "$(command -v fasd)" -nt "$fasd_cache" -o ! -s "$fasd_cache" ]; then + eval "$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)" >| "$fasd_cache" fi +source "$fasd_cache" +unset fasd_cache + +# jump to recently used items +alias a='fasd -a' # any +alias s='fasd -si' # show / search / select +alias d='fasd -d' # directory +alias f='fasd -f' # file +alias z='fasd_cd -d' # cd, same functionality as j in autojump +alias zz='fasd_cd -d -i' # interactive directory jump