zsh emacsのようにコピーして貼り付ける

zsh emacsのようにコピーして貼り付ける

zshにはemacsで見られるものと同じ内容がたくさんあることがわかりました。 Ctrl+Space を使用して選択し、領域を選択できます。 zshにある場合は、emacsのようにコピーできます。 Emacsではシステムクリップボードを使用できます(以前は追加の設定が必要でしたが、今はEmacsですぐに利用できます)。 zshではCyを使ってクリップボードから貼り付けることができないようで、zshから自分のシステムのクリップボードにコピーしても同じ問題があります。解決策はありますか?

ベストアンサー1

Zshには他のアプリケーションと通信しないクリップボードが組み込まれています。スクリプトを書くのはとても簡単なので~/.zshrcクリップまたはシェル。バラよりクリップボードからviサポートzshまたはbashシェルに貼り付けるviモードの概念証明用です。以下はemacsモードに対応するコードです(kill-*他のウィジェットでも同様のことができます)。

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

X11クリップボード(通常はCtrl+ C/ Ctrl+でアクセスV)を使用して-bX11のデフォルト選択を有効にします(選択項目を自動的にコピーしてマウスの中央ボタンで貼り付けます)。

おすすめ記事