1

In bash with set -o vi, I use

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

to make ^] in insert mode cat the current line to my clipboard wrapper (cb).

How do I emulate this in zsh (with set -o vi) ?

Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
Petr Skocik
  • 28,176
  • 14
  • 81
  • 141

1 Answers1

0

These work for me:

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
Petr Skocik
  • 28,176
  • 14
  • 81
  • 141