zsh は X クリップボードからコピー先に移動します。

zsh は X クリップボードからコピー先に移動します。

zshからX11に貼り付け/コピーするには、Ctrl + VとCtrl + Xを使用します。次のコードスニペットが機能することがわかりましたが、貼り付けた後、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} ))
}

おすすめ記事