W tym wątku najwyższa odpowiedź pokazuje, jak skopiować tekst, który został wcześniej zaznaczony myszą na terminalu gnome, do schowka w X11.
Moje pytanie brzmi: powiedzmy, że kopiuję fragment tekstu z terminala za pomocą bash set-mark i kopiuję skróty klawiaturowe (tj. set-mark
+ M-w
). Czy można udostępnić ten schowek X11?
EDYCJA : W pierwotnym pytaniu mówiłem o udostępnianiu schowka w GNOME, ale jak podkreśla Gilles poniżej, GNOME nie ma specjalnie schowka (ogólnie dla X), więc zaktualizowałem pytanie.
Odpowiedzi:
Schowek Basha jest wewnętrzny dla bash, bash nie łączy się z serwerem X.
Co możesz zrobić, to zmienić znaczenie
M-w
kopiowania zaznaczenia do schowka X oprócz wewnętrznego schowka bash. Jednak integracja bash jest dość luźna i nie sądzę, aby można było uzyskać dostęp do informacji o regionie lub schowku z kodu bash. Możesz utworzyć powiązanie klucza, aby skopiować całą linię do schowka X.²Jeśli chcesz robić fantazyjne rzeczy w powłoce, przełącz się na zsh, który (między innymi zaletami) ma znacznie lepszą integrację między edytorem linii a językiem skryptowym.
¹ Gnome nie ma specjalnie schowka, jest to ogólnie rzecz biorąc X.
² Począwszy od wersji bash 4.1 kod parsowania zawiera błąd: powiązane sekwencje klawiszy
bind -x
nie mogą mieć więcej niż dwóch znaków. Myślę, że bash 4.2 naprawia niektóre przypadki dłuższych prefiksów, ale nie wszystkie; Nie zbadałem szczegółów.źródło
zsh
.copy_line_to_x_clipboard
tego brakowało mi przez bardzo długi czas: ekwiwalent shift + insert. Zmieniłem na ctrl-x (bind -x '"\C-x"
), ponieważEsc
jest to zbyt dalekie od mojego gustu (a Cc byłby najgłupszym możliwym wyborem).esc
następujący po nim, więc możesz wpisać go jakoalt-w
.@Gilles już dał doskonałą odpowiedź. Chciałbym tylko wspomnieć o istnieniu
xclip
, który jest również bardzo przydatnym sposobem kopiowania danych wyjściowych terminala do schowka X, po prostu pipetując cokolwiek do niego:źródło
xclip
domyślnie kopiuje się do głównego bufora. Aby użyć schowka, użyjxclip -selection clipboard
.