Вам нужно обновить $READLINE_LINE
и $READLINE_POINT
в функции. Вставить вывод xsel -o
в $READLINE_POINT
из $READLINE_LINE
.
copy_line_from_x_clipboard() {
local n=$READLINE_POINT
local l=$READLINE_LINE
local s=$(xsel -o)
READLINE_LINE=${l:0:$n}$s${l:$n:$((${#l}-n))}
READLINE_POINT=$((n+${#s}))
}
bind -x '"\C-y": copy_line_from_x_clipboard'
Прочтите руководство для получения более подробной информации.