Ctrl-yを押してxクリップボードの内容を端末にインポートすると、シェルプロンプト文字列が追加されます。

Ctrl-yを押してxクリップボードの内容を端末にインポートすると、シェルプロンプト文字列が追加されます。

使用このリンク、を押して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_POINTxsel -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'

読む手動もっと学ぶ。

おすすめ記事