zsh/widgets/edit-command-line-split

17 lines
467 B
Plaintext
Raw Normal View History

edit-command-line-tmux() {
local tmpfile=${TMPPREFIX:-/tmp/zsh}ecl$$
print -R - "$PREBUFFER$BUFFER" >$tmpfile
exec </dev/tty
if [[ $KITTY_WINDOW_ID ]]; then
kitty @launch --type overlay vim -c 'set laststatus=0 showtabline=0 ft=zsh' $tmpfile
tail -f --pid=$(pgrep -f "vim.*${tmpfile:t}") /dev/null
else
${=${VISUAL:-${EDITOR:-vi}}} $tmpfile
fi
print -Rz - "$(<$tmpfile)"
command rm -f $tmpfile
zle send-break # Force reload from the buffer stack
}