From f5405e0092615cc24cdd057b983fabb06da28dda Mon Sep 17 00:00:00 2001 From: krolxon Date: Sun, 17 Aug 2025 18:30:12 +0530 Subject: [PATCH] zsh: add shell wrapper for yazi --- .config/zsh/.zshrc | 10 ++++++++++ 1 file changed, 10 insertions(+) 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)