คลิปบอร์ดของ Bash นั้นอยู่ในภายในของ bash และ bash ไม่ได้เชื่อมต่อกับเซิร์ฟเวอร์ X
สิ่งที่คุณสามารถทำได้คือเปลี่ยนความหมายของM-w
การคัดลอกส่วนที่เลือกไปยังคลิปบอร์ด X นอกเหนือจากคลิปบอร์ดภายในของ bash อย่างไรก็ตามการรวมของ bash นั้นค่อนข้างหลวมและฉันไม่คิดว่าจะมีวิธีเข้าถึงข้อมูลภูมิภาคหรือคลิปบอร์ดจากรหัสทุบตี คุณสามารถทำการผูกคีย์เพื่อคัดลอกทั้งบรรทัดไปยังคลิปบอร์ด X ²
if [[ -n $DISPLAY ]]; then
copy_line_to_x_clipboard () {
printf %s "$READLINE_LINE" | xsel -ib
}
bind -x '"\eW": copy_line_to_x_clipboard'
fi
หากคุณต้องการทำสิ่งที่แปลกใหม่ในเชลล์ให้เปลี่ยนเป็น zsh ซึ่ง (เหนือสิ่งอื่นใด) มีการรวมที่ดีขึ้นระหว่างตัวแก้ไขบรรทัดและภาษาสคริปต์
if [[ -n $DISPLAY ]]; then
x-copy-region-as-kill () {
zle copy-region-as-kill
print -rn -- "$CUTBUFFER" | xsel -ib
}
x-kill-region () {
zle kill-region
print -rn -- "$CUTBUFFER" | xsel -ib
}
zle -N x-copy-region-as-kill
zle -N x-kill-region
bindkey '\C-w' x-kill-region
bindkey '\ew' x-copy-region-as-kill
fi
¹
Gnome ไม่มีคลิปบอร์ดโดยเฉพาะนี่คือ X ทั่วไป
²
ในฐานะของทุบตี 4.1 มีข้อบกพร่องในรหัสการแยกคีย์: ลำดับคีย์ที่ผูกไว้กับbind -x
อาจมีความยาวไม่เกินสองตัวอักษร ฉันคิดว่าทุบตี 4.2 แก้ไขบางกรณีของคำนำหน้าอีกต่อไป แต่ไม่ใช่ทั้งหมด; ฉันไม่ได้ค้นคว้ารายละเอียด