viモードで選択項目をクリップボードに貼り付ける方法

viモードで選択項目をクリップボードに貼り付ける方法

ctrl端末の+vまたはctrl++コマンドを介してshiftクリップボードと一緒にviモードを使用してバッファにコピーしたものにアクセスしたいと思いますv

私の.zshrcに次の内容をコピーしました。 (この答えから: クリップボードからviサポートzshまたはbashシェルに貼り付ける)

vi-append-x-selection () { RBUFFER=$(xsel -o -p </dev/null)$RBUFFER; }
zle -N vi-append-x-selection
bindkey -a '^X' vi-append-x-selection
vi-yank-x-selection () { print -rn -- $CUTBUFFER | xsel -i -p; }
zle -N vi-yank-x-selection
bindkey -a '^Y' vi-yank-x-selection

viモードの端末で何かを強調表示して取り出したら、Ctrl++を入力してshift正常に検索できますy。ただし、++を入力するとCtrl他の内容が貼り付けられます。shiftv

以下を使用してクリップボードの内容を確認するには:

xclip -o sel p
xclip -o sel s
xclip -o sel c
xsel -o -p
xsel -o -s
xsel -o -b

これには、以前に別の方法でコピーした他の文字列が含まれていますが、viモードで強調表示された文字列は含まれていません。

これは私のものです。最初の質問Ctrl:++コマンドを使用してshift検索し、保存された3つのバッファ(「デフォルト」、「セカンダリ」、「クリップボード」)のいずれかにないことをy確認できたらどうなりますか? ? ? )xselxclip

また、行の「^Y」を「^V」に変えようとしました。

bindkey -a '^Y' vi-yank-x-selection

(次のように:)

bindkey -a '^V' vi-yank-x-selection

成功しませんでした(空のバッファを印刷しているようです)

私の2番目の質問:私は何が間違っていた?

ベストアンサー1

おすすめ記事