現在のコマンドラインをクリップボードにコピーしています

現在のコマンドラインをクリップボードにコピーしています

では、私bashset -o vi

bind '"\C-]":"\C-[A\C-u cb <<"EOF"\n\C-y\nEOF\n"'

^]挿入モードでcat現在の行をクリップボードラッパー ( ) にしますcb

これをzsh( を使ってset -o vi) でエミュレートするにはどうすればいいでしょうか?

答え1

これらは私にとっては有効です:

copy-to-xclip() {
    zle kill-buffer
    print -rn -- $CUTBUFFER | cb
}; zle -N copy-to-xclip
bindkey -M viins "^]" copy-to-xclip

paste-xclip() {
    killring=("$CUTBUFFER" "${(@)killring[1,-2]}")
    CUTBUFFER=$(xclip -selection clipboard -o)
    zle yank
}; zle -N paste-xclip
bindkey -M vicmd "p" paste-xclip

関連情報