O Zsh's possui uma área de transferência interna que não se comunica com outros aplicativos. Como é muito legível, você pode fazer com que ele se comunique com algumas linhas no seu ~/.zshrc
. Você precisará do xclip ou do xsel . Consulte Colando da área de transferência para o vi habilitado para zsh ou bash para uma prova de conceito no modo vi. Aqui está o código correspondente para o modo emacs (você provavelmente desejará fazer algo semelhante a outros kill-*
widgets).
x-copy-region-as-kill () {
zle copy-region-as-kill
print -rn $CUTBUFFER | xsel -i -b
}
zle -N x-copy-region-as-kill
x-kill-region () {
zle kill-region
print -rn $CUTBUFFER | xsel -i -b
}
zle -N x-kill-region
x-yank () {
CUTBUFFER=$(xsel -o -b </dev/null)
zle yank
}
zle -N x-yank
bindkey -e '\ew' x-copy-region-as-kill
bindkey -e '^W' x-kill-region
bindkey -e '^Y' x-yank
Isto usa a área de transferência X11 (normalmente acessada com Ctrl + C / Ctrl + V ); remova a opção -b
para usar a seleção primária do X11 (cópia automática ao selecionar e cole com o botão do meio do mouse).