
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} ))
}