zsh 从 X 剪贴板跳转到副本末尾

zsh 从 X 剪贴板跳转到副本末尾

我想要 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} ))
}

相关内容