--- /dev/null
+if (( ! $+commands[ranger] )); then
+ return 1
+fi
+
+# Auto cd into rangers directory
+function ranger {
+ tempfile=$(mktemp /tmp/ranger-dirXXX)
+ /usr/bin/ranger --choosedir="$tempfile" "${@:-$(pwd)}"
+ test -f "$tempfile" &&
+ if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then
+ cd -- "$(cat "$tempfile")"
+ fi
+ rm -f -- "$tempfile"
+}
+
+alias rg='ranger'
+
+ranger_show() { BUFFER="ranger"; zle accept-line; }
+zle -N ranger_show
+bindkey '\er' ranger_show