aboutsummaryrefslogtreecommitdiff
path: root/.config/zsh
diff options
context:
space:
mode:
Diffstat (limited to '.config/zsh')
-rw-r--r--.config/zsh/.zshrc10
1 files changed, 10 insertions, 0 deletions
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
index d992aec..b436ad9 100644
--- a/.config/zsh/.zshrc
+++ b/.config/zsh/.zshrc
@@ -36,6 +36,16 @@ function zle-keymap-select () {
viins|main) echo -ne '\e[5 q';; # beam
esac
}
+
+# Yazi shell wrapper
+function y() {
+ local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
+ yazi "$@" --cwd-file="$tmp"
+ IFS= read -r -d '' cwd < "$tmp"
+ [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
+ rm -f -- "$tmp"
+}
+
zle -N zle-keymap-select
zle-line-init() {
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)