我想要 Ctrl + V 和 Ctrl + X 从 zsh 粘贴/复制到 X11。我发现以下代码片段可以工作,但粘贴后 zsh 不会跳转到该字符。我怎么能这么做呢。
copy-to-clipboard ()
{
if [ -n "$LBUFFER$RBUFFER" ]; then
echo $LBUFFER$RBUFFER | xclip -i
fi
}
paste-from-clipboard ()
{
CLIPOUT=`xclip -o`
BUFFER=$LBUFFER$CLIPOUT$RBUFFER
}
zle -N paste-from-clipboard paste-from-clipboard
zle -N copy-to-clipboard copy-to-clipboard
bindkey "^V" paste-from-clipboard
bindkey "^X" copy-to-clipboard
答案1
zsh 将光标的位置保留在变量中,CURSOR
如下所示:
paste-from-clipboard ()
{
CLIPOUT=`xclip -o`
BUFFER=$LBUFFER$CLIPOUT$RBUFFER
CURSOR=$(( $CURSOR + ${#CLIPOUT} ))
}