summaryrefslogtreecommitdiff
path: root/lib/directories.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/directories.zsh')
-rw-r--r--lib/directories.zsh40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/directories.zsh b/lib/directories.zsh
new file mode 100644
index 000000000..56d7a2316
--- /dev/null
+++ b/lib/directories.zsh
@@ -0,0 +1,40 @@
+# 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' \ No newline at end of file