zshrc: provide smart cd function, allows switching to /etc when running 'cd /etc...
authorMichael Prokop <mika@grml.org>
Sun, 24 Jul 2011 11:47:06 +0000 (13:47 +0200)
committerMichael Prokop <mika@grml.org>
Sun, 24 Jul 2011 13:23:43 +0000 (15:23 +0200)
etc/zsh/zshrc

index d5bbfa0..cf20ca7 100644 (file)
@@ -2655,6 +2655,17 @@ fir() {
         firefox -a firefox -remote "openURL($1)" || firefox ${1}&
     fi
 }
+# smart cd function, allows switching to /etc when running 'cd /etc/fstab'
+cd() {
+    if [[ -f ${1} ]]; then
+        [[ ! -e ${1:h} ]] && return 1
+        print "Correcting ${1} to ${1:h}"
+        builtin cd ${1:h}
+    else
+        builtin cd ${1}
+    fi
+}
+
 #f5# Create Directoy and \kbd{cd} to it
 mcd() {
     mkdir -p "$@" && cd "$@"