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