Clipboard Bash bersifat internal untuk bash, bash tidak terhubung ke server X.
Apa yang bisa Anda lakukan adalah mengubah makna M-w
untuk menyalin pilihan ke papan klip X¹ selain papan klip internal bash. Namun integrasi bash cukup longgar, dan saya rasa tidak ada cara untuk mengakses informasi wilayah atau papan klip dari kode bash. Anda dapat membuat kunci yang mengikat untuk menyalin seluruh baris ke papan klip 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
Jika Anda ingin melakukan hal-hal mewah di shell, beralihlah ke zsh, yang (di antara kelebihan lainnya) memiliki integrasi yang jauh lebih baik antara editor baris dan bahasa scripting.
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 tidak secara khusus memiliki clipboard, ini umum untuk X.
²
Pada bash 4.1, ada bug dalam kode parsing kunci: urutan kunci yang diikat bind -x
mungkin tidak boleh lebih dari dua karakter. Saya pikir bash 4.2 memperbaiki beberapa kasus dengan awalan yang lebih panjang tetapi tidak semuanya; Saya belum meneliti detailnya.