In diesem Thread zeigt die obere Antwort, wie Text, der zuvor mit der Maus auf einem Gnome-Terminal ausgewählt wurde, in die Zwischenablage in X11 kopiert wird.
Meine Frage lautet: Angenommen, ich kopiere einen Text vom Terminal mit dem Bash-Set-Mark und kopiere Tastaturkürzel (dh set-mark
+ M-w
). Ist es möglich, diese Zwischenablage mit X11 zu teilen?
BEARBEITEN : In der ursprünglichen Frage habe ich über das Teilen der Zwischenablage mit GNOME gesprochen, aber wie Gilles weiter unten ausführt, verfügt GNOME nicht speziell über eine Zwischenablage (es ist allgemein für X), daher habe ich die Frage aktualisiert.
Antworten:
Die Zwischenablage von Bash ist intern für Bash, Bash stellt keine Verbindung zum X-Server her.
Sie können die Bedeutung ändern,
M-w
um die Auswahl zusätzlich zur internen Zwischenablage von bash in die X-Zwischenablage¹ zu kopieren¹. Die Integration von bash ist jedoch ziemlich locker, und ich glaube nicht, dass es eine Möglichkeit gibt, über Bash-Code auf die Regionsinformationen oder die Zwischenablage zuzugreifen. Sie können eine Tastenkombination erstellen, um die gesamte Zeile in die X-Zwischenablage zu kopieren.²Wenn Sie ausgefallene Dinge in der Shell tun möchten, wechseln Sie zu zsh, das (neben anderen Vorteilen) eine weitaus bessere Integration zwischen dem Zeileneditor und der Skriptsprache bietet.
¹ Gnome hat keine spezielle Zwischenablage, dies ist allgemein für X.
² Ab Bash 4.1 gibt es einen Fehler im Schlüsselparsing-Code: Schlüsselsequenzen, an die gebunden ist,
bind -x
dürfen nicht länger als zwei Zeichen sein. Ich denke, Bash 4.2 behebt einige Fälle von längeren Präfixen, aber nicht alle; Ich habe die Details nicht recherchiert.quelle
zsh
.copy_line_to_x_clipboard
ist genau das, was ich für eine sehr lange Zeit fehlte: das Kopieren äquivalent Shift + Insert. Ich habe zu Strg-x (bind -x '"\C-x"
) gewechselt, weilEsc
es zu weit nach meinem Geschmack ist (und Cc wäre die dümmste Wahl).esc
gefolgt von diesem Zeichen übersetzt, sodass Sie es als eingeben könnenalt-w
.@ Gilles gab bereits eine hervorragende Antwort. Ich möchte nur die Existenz von erwähnen
xclip
, die auch eine sehr nützliche Möglichkeit ist, die Terminalausgabe in die X-Zwischenablage zu kopieren, indem Sie einfach etwas hineinleiten:quelle
xclip
die standardmäßig in den Primärpuffer kopiert wird. Verwenden Sie zum Verwenden der Zwischenablagexclip -selection clipboard
.