Um Text in die X-Zwischenablage in tmux zu kopieren, mache ich derzeit Folgendes:
- Mit in den Auswahlmodus wechseln prefix[
- Auswahl starten mit space(mit
mode-keys vi
Übrigens) - Wählen Sie den Text aus und drücken Sie enter
- Kopieren Sie den TMUX-Puffer mit in die X-Zwischenablage prefixctrl+c
(Ich habe eine Zuordnung als bind C-c run "tmux show-buffer | xclip -selection clipboard -i"
Ich versuche, einige dieser Schritte zu eliminieren, indem ich eine Zuordnung für den Auswahlmodus vornehme. Ich habe versucht:
bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
das gibt mir und fehler:
.. usage: bind-key [-cnr] [-t key-table] key command [arguments]
(Ich konnte den Fehler nicht kopieren)
Wie kann ich das beheben?
BEARBEITEN: Ich habe festgestellt, dass ich mit der Maus wie bei einer normalen Auswahl (obwohl das Hervorheben nicht von Dauer ist, wählt es dennoch den Text aus) auswählen und in den tmux-Puffer kopieren (die ersten drei Schritte) und dann die folgende Bindung zum Kopieren in die x-Zwischenablage verwenden kann :
bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"
(Ich habe diese Methode benutzt, um diesen Text zu kopieren und es war einfach;)
beachten Sie, dass -n
"kein Präfix" bedeutet, daher ist kein Escape-Befehl erforderlich. Wenn Sie nicht durch das verschwundene Highlight verwirrt werden, entspricht dies dem normalen Kopieren (über die allgemeine Benutzeroberfläche).
Das ist das Beste, was ich mir bisher ausgedacht habe.
EDIT2:ctrl+c Überlappungen mit Prozessalarmsache stellten sich heraus , deshalb habe ich erstmal auf umgestellt ctrl+alt+c. (hat nicht ganz gefallen)
EDIT3: tmux 1.8 oder so fügte Unterstützung hinzu, um Tastenkombinationen im Kopiermodus hinzuzufügen, so dass meine erste ursprüngliche Absicht nun mit etwas möglich ist, wie:
bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"
Diese beiden Bindungen ermöglichen es, Text in die Zwischenablage zu kopieren, wenn ich ihn verwendet habe, enteroder yden Kopiervorgang abzuschließen.
Ich behalte diese Zeile für den Fall bei, dass ich mit der Maus kopiere und beschließe, den Inhalt des tmux-Puffers später in die Zwischenablage zu kopieren:
bind-key y run "tmux show-buffer | xclip -selection clipboard -i"
quelle
stty intr=^Z
. Seien Sie vorsichtig mit diesem Befehl, es ist möglich, ein reguläres Zeichen als Interrupt-Zeichen festzulegen (verwenden Sie in diesem Fall Strg-V, um es einzugeben, bis die Einstellung festgelegt ist). Und machen Sie sich keine Gedanken darüber, welcher Schlüssel verwendet wird (z. B. Strg-Z ist normalerweise der Suspend-Schlüssel).^c
als Interrupt-Taste behalten, da ich es öfter benutze als zu kopieren. Ich habe auch die Antwort aktualisiert, um meine aktuelle Lösung für dieses Problem widerzuspiegeln.bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"
Live gibt:Unknown command: run
bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"
funktioniert jedoch einwandfrei.Antworten:
Diese Antwort beantwortet Ihre Frage zum Erstellen einer Verknüpfung nicht direkt. Aber hier ist was ich tue.
Sie können die Weitergabe Ihrer Tastatur- / Mausereignisse an tmux vorübergehend anhalten, indem Sie gedrückt halten shift. Sie können also die Umschalttaste gedrückt halten und regelmäßige Verknüpfungen von Terminal / X verwenden, um den Kopiervorgang auszuführen. In meinem Fall mit Terminator drücke ich shift, hebe mit der Maus hervor, was ich will, kopiere mitCtrl+Shift+C
Falls Sie geteilte Fenster haben, können Sie das aktuelle Fenster mit der Zoom-Umschalttaste zoomen Prefix + zund den Kopiervorgang ausführen. (getestet auf tmux v1.8)
quelle
Dies beantwortet Ihre Frage nicht direkt, aber werfen Sie einen Blick auf tmux-yank , wie unter Verwenden der System-Zwischenablage im Vi-Copy-Modus in tmux und Abrufen von tmux zum Kopieren eines Puffers in die Zwischenablage beschrieben . Nach der Installation
quelle