Clipboard
Ctrl-y,將 x-clipboard 內容拉到終端添加 shell 提示字元串
使用此連結,我編寫了自定義函式以在按下時將文本從 x 剪貼板拉到 shell 終端
C-y
。我在這裡看到兩個問題,copy_line_from_x_clipboard () { xsel -o } bind -x '"\C-y": copy_line_from_x_clipboard'
1)它在按下後添加shell提示字元串,PS1
C-y
。我更喜歡這個函式的行為與Ctrl - Shift -v
. 目前,它輸出,CLIPBOARD_STUFF PS1$
2)它在第一次拉出文本後清空系統剪貼板。第二次,我按下
C-y
,沒有更多的內容被拉扯。
您需要更新
$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'
閱讀手冊了解詳情。