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

관련 정보