使用このリンク、を押してxクリップボードからシェルターミナルにテキストをインポートするカスタム関数を作成しましたC-y
。これには2つの問題があります。
copy_line_from_x_clipboard () {
xsel -o
}
bind -x '"\C-y": copy_line_from_x_clipboard'
1)を押してシェルプロンプト文字列PS1を追加しますC-y
。私はこの関数の動作を好みますCtrl - Shift -v
。現在、出力は次のとおりです。
CLIPBOARD_STUFF PS1$
2)最初にテキストを取り出すと、システムクリップボードが消去されます。 2番目にを押したとき、それ以上のC-y
内容は出ませんでした。
答え1
関数でおよびを更新する必要があります$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'
読む手動もっと学ぶ。