# Changing/making/removing directory setopt auto_name_dirs setopt auto_pushd setopt pushd_ignore_dups alias ..='cd ..' alias cd..='cd ..' alias cd...='cd ../..' alias cd....='cd ../../..' alias cd.....='cd ../../../..' alias cd/='cd /' alias 1='cd -' alias 2='cd +2' alias 3='cd +3' alias 4='cd +4' alias 5='cd +5' alias 6='cd +6' alias 7='cd +7' alias 8='cd +8' alias 9='cd +9' cd () { if [[ "x$*" == "x..." ]]; then cd ../.. elif [[ "x$*" == "x...." ]]; then cd ../../.. elif [[ "x$*" == "x....." ]]; then cd ../../.. elif [[ "x$*" == "x......" ]]; then cd ../../../.. else builtin cd "$@" fi } alias md='mkdir -p' alias rd=rmdir alias d='dirs -v' # mkdir & cd to it function mcd() { mkdir -p "$1" && cd "$1"; }