Di utas ini , jawaban teratas menunjukkan cara menyalin teks yang sebelumnya dipilih dengan mouse di terminal gnome, ke clipboard di X11.
Pertanyaan saya adalah: Katakanlah saya menyalin sepotong teks dari terminal menggunakan tanda set bash dan salin pintasan keyboard (yaitu set-mark
+ M-w
). Apakah mungkin berbagi clipboard ini dengan X11?
EDIT : Dalam pertanyaan awal, saya berbicara tentang berbagi clipboard dengan GNOME, tetapi seperti yang ditunjukkan Gilles di bawah ini, GNOME tidak secara spesifik memiliki clipboard (umum untuk X), jadi saya telah memperbarui pertanyaan.
Jawaban:
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.²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.
¹ 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.sumber
zsh
.copy_line_to_x_clipboard
adalah persis apa yang saya hilang untuk waktu yang sangat lama: salinan yang setara dengan shift + insert. Saya mengubah ke ctrl-x (bind -x '"\C-x"
) karenaEsc
terlalu jauh untuk seleraku (dan Cc akan menjadi pilihan paling bodoh).esc
diikuti oleh karakter itu, jadi Anda bisa mengetikkannya sebagaialt-w
.@Gilles sudah memberikan jawaban yang bagus. Saya hanya ingin menyebutkan keberadaannya
xclip
, yang juga merupakan cara yang sangat berguna untuk menyalin keluaran terminal ke clipboard X, dengan hanya memipiskan apa saja ke dalamnya:sumber
xclip
menyalin ke buffer utama secara default. Untuk menggunakan clipboard, gunakanxclip -selection clipboard
.