directories.zsh 786 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # Changing/making/removing directory
  2. setopt auto_name_dirs
  3. setopt auto_pushd
  4. setopt pushd_ignore_dups
  5. setopt pushdminus
  6. alias ..='cd ..'
  7. alias cd..='cd ..'
  8. alias cd...='cd ../..'
  9. alias cd....='cd ../../..'
  10. alias cd.....='cd ../../../..'
  11. alias cd/='cd /'
  12. alias 1='cd -'
  13. alias 2='cd -2'
  14. alias 3='cd -3'
  15. alias 4='cd -4'
  16. alias 5='cd -5'
  17. alias 6='cd -6'
  18. alias 7='cd -7'
  19. alias 8='cd -8'
  20. alias 9='cd -9'
  21. cd () {
  22. if [[ "x$*" == "x..." ]]; then
  23. cd ../..
  24. elif [[ "x$*" == "x...." ]]; then
  25. cd ../../..
  26. elif [[ "x$*" == "x....." ]]; then
  27. cd ../../..
  28. elif [[ "x$*" == "x......" ]]; then
  29. cd ../../../..
  30. else
  31. builtin cd "$@"
  32. fi
  33. }
  34. alias md='mkdir -p'
  35. alias rd=rmdir
  36. alias d='dirs -v | head -10'
  37. # mkdir & cd to it
  38. function mcd() {
  39. mkdir -p "$1" && cd "$1";
  40. }