ohmyzsh/plugins/last-working-dir/last-working-dir.plugin.zsh
Örjan Persson 68a53a4e23 Added last working directory plugin
Overrides the cd command to keep track of directory changes. Once zsh is
loaded, the last directory will be restored. Mimics how tabs works in
many terminals.
2012-10-16 23:02:17 -07:00

23 lines
742 B
Bash

#!/usr/bin/env zsh
# Keeps track of the last used working directory and automatically jumps
# into it for new shells.
# Flag indicating if we've previously jumped to last directory.
typeset -g ZSH_LAST_WORKING_DIRECTORY
# Updates the last directory once directory is changed.
function cd() {
builtin cd "$@" && echo "$PWD" > "$ZSH/cache/last-working-dir"
}
alias chdir=cd
# Changes directory to the last working directory.
function lwd() {
[[ ! -r ~/.zsh_lwd ]] || builtin cd `cat "$ZSH/cache/last-working-dir"`
}
# Automatically jump to last working directory unless this isn't the first time
# this plugin has been loaded.
if [[ "$ZSH_LAST_WORKING_DIRECTORY" == "" ]]; then
lwd 2>/dev/null && ZSH_LAST_WORKING_DIRECTORY=1 || true
fi