Com zsh
, você poderia fazer:
mkdir -p ~/.zsh/dirhist
E adicione ao seu ~ / .zshrc:
HISTSIZE=1000
SAVEHIST=10000
setopt HIST_SAVE_NO_DUPS INC_APPEND_HISTORY
HISTFILE=~/.zsh/dirhist/${PWD//\//@}
chpwd() {
[[ $PWD = $OLDPWD ]] || fc -Pp ~/.zsh/dirhist/${PWD//\//@}
}
chpwd()
é chamado sempre que o diretório atual é alterado. Lá, redefinimos o arquivo de histórico para algo como ~/.zsh/dirhist/@foo@bar
quando você está em cd
to /foo/bar
.