私はzshの内容をコピーしてシステムクリップボードに貼り付けるためにzsh用にこの小さなスクリプトを直接作成しました(基本的にここからすべてを取得します:zsh emacsのようにコピーして貼り付ける)
x-yank() {
zle copy-region-as-kill
print -rn -- $CUTBUFFER | pbcopy
}
zle -N x-yank
x-cut() {
zle kill-region
print -rn -- $CUTBUFFER | pbcopy
}
zle -N x-cut
x-paste() {
CUTBUFFER=$(pbpaste)
zle yank
}
zle -N x-paste
bindkey -M vicmd "y" x-yank
bindkey -M vicmd "Y" x-cut
bindkey -M vicmd "p" x-paste
しかし、解決できないいくつかの小さな問題があります。
- 貼り付けると、カーソルの下の現在の文字が削除されます。私はVimメソッドを好み、その後挿入します。
- コピーしても選択内容は削除されません。
どこから始めるべきアイデアはありますか?
答え1
さて、見つけました。さまざまなバッファを直接操作できます。
x-paste() {
PASTE=$(pbpaste)
LBUFFER="$LBUFFER${RBUFFER:0:1}"
RBUFFER="$PASTE${RBUFFER:1:${#RBUFFER}}"
}
zle -N x-paste
bindkey -M vicmd "p" x-paste