]> git.rmz.io Git - dotfiles.git/commitdiff
zsh: add autocd to ranger + aliases + bindkey
authorSamir Benmendil <samir.benmendil@gmail.com>
Wed, 10 Dec 2014 02:56:49 +0000 (02:56 +0000)
committerSamir Benmendil <samir.benmendil@gmail.com>
Wed, 10 Dec 2014 06:33:39 +0000 (06:33 +0000)
zsh/lib/ranger.zsh [new file with mode: 0644]

diff --git a/zsh/lib/ranger.zsh b/zsh/lib/ranger.zsh
new file mode 100644 (file)
index 0000000..1fab1ae
--- /dev/null
@@ -0,0 +1,20 @@
+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