Von Tmux in El Capitan in die Zwischenablage kopieren

Ich bin recht zufrieden mit den Terminal-Änderungen in El Capitan (siehe zB diese Frage ).

Ich kann jedoch nicht herausfinden, wie ich das Kopieren in die Systemzwischenablage von Tmux aus aktivieren kann. Zum Beispiel, jetzt, da ich Text in Tmux richtig mit der Maus auswählen kann, wie kann ich ausgewählten Text zusätzlich zum eigenen Puffer von Tmux auch in die Zwischenablage kopieren?

Ich habe folgendes in meinem tmux.conf:

setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window on

setw -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

Ich habe versucht, die letzte Zeile zu ändern

bind-key -t vi-copy 'y' copy-selection \; copy-pipe "pbcopy"

aber es hat nicht wirklich funktioniert. Wäre für Anregungen dankbar!

Vielen Dank!

Cmd-C funktioniert nicht?
@partix - nein, da kopierter Text nach dem Loslassen der Maustaste (oder des Trackpads) automatisch deselektiert wird. Natürlich funktioniert es im Terminal, aber nicht von Tmux im Terminal.
Das Update auf Tmux 2.1 hat das Scrollen mit der Maus in Tmux-Fenstern unterbrochen.

Antworten (9)

Eigentlich finde ich nur eine sehr einfache Lösung, wie ich das Kopieren mit Cmd + C wieder aktivieren kann.

Gehen Sie in der Standard-Terminalanwendung zu Ansicht-> "Mausberichte zulassen" und deaktivieren Sie es. Das ist es.

PS: Offensichtlich funktionieren die neuen netten Funktionen wie das Ziehen des geteilten Bildschirms in tmux nicht mehr, nachdem die Mausberichterstattung deaktiviert wurde.

PS: Ich habe zuvor eine Lösung von @siphiuel verwendet, die auch gut funktioniert.
Danke dir!!! Das ist der einfachste Weg! Nur dass die Geschichte kaputt ist. Ich kann nur einen Teil der Geschichte sehen
Super nett. Das funktioniert
und dies funktioniert auch für eine entfernte tmux-Sitzung; Ich denke, dass die bind-key ... copy-pipeLösung möglicherweise nur funktioniert, wenn es sich um eine lokale tmux-Sitzung handelt. Andererseits könnte es vielleicht funktionieren, wenn Sie die Remote-Tmux-Sitzung innerhalb einer lokalen Tmux-Sitzung durchführen? Wie auch immer, das Deaktivieren von "Mausberichte zulassen" hat bei mir funktioniert, und es gibt sogar eine Tastenkombination ⌘-R (Cmd-R), mit der Sie es schnell ausschalten können, um eine Kopie zu erstellen, und dann wieder einschalten.
Danke für die Tastenkombination ⌘-R (Cmd-R) - das hilft sehr!

Wenn Sie iTerm2 3.x verwenden, können Sie das Kopieren / Einfügen aktivieren, indem Sie Folgendes aktivieren Applications in terminal may access clipboard:

Geben Sie hier die Bildbeschreibung ein

Markieren Sie einfach Text mit Ihrer Maus, um ihn in die Zwischenablage von OS X zu kopieren!

CmdSie können auch mit dem üblichen + aus der Zwischenablage von OS X in tmux einfügen V.

das war für mich die einfachste lösung.
Das ist fantastisch!

Wenn Sie die Funktionstaste gedrückt halten, können Sie auch mit Apfel + C auswählen und in die Zwischenablage kopieren.

Wir suchen nach etwas mehr als einer einzeiligen Antwort. Versuchen Sie, Ihre Antwort zu erweitern, um weitere Details zu geben.
@Allan Dies ist eine vollständige Antwort, obwohl es nur eine einzige Zeile ist. So einfach ist das.
Übrigens habe ich festgestellt, dass es nur auf der Laptop-Tastatur funktioniert, nicht auf angeschlossenen Tastaturen :(

Eigentlich habe ich mich geirrt, als ich sagte, dass copy-pipedas nicht funktioniert. Es funktioniert und copy-selectionist dann überflüssig, da copy-pipesowohl Text in die Tmux-Einfügeablage kopiert als auch an einen beliebigen Shell-Befehl geleitet wird. Also folgende Zeile funktioniert:

bind-key -t vi-copy 'y' copy-pipe "pbcopy"

Allerdings muss man drücken, ybevor man die Maustaste loslässt. Ich bin in der Dokumentation für das tmux-yank- Plugin darauf gestoßen:

"Wenn Sie eine Auswahl mit tmux mode-mouse on oder mode-mouse copy-mode treffen, können Sie sich nicht auf das Standardverhalten "Maus nach Auswahl zum Kopieren loslassen" verlassen. Drücken Sie stattdessen y, bevor Sie die Maus loslassen."

Es funktioniert also, aber mit etwas lästigem Drücken y, um mit der Maus ausgewählten Text zu kopieren.

Wenn Sie Terminal.app verwenden: In macOS Sierra funktioniert dies aufgrund einer Regression im Terminal.app-Verhalten nicht. Sie müssen den Hack "reattach-to-user-namespace" erneut verwenden.
Stimmen Sie dem Kommentar von @m1keil zu. Außerdem musste ich aus irgendeinem Grund Reattach-to-User-Namespace mit zusätzlichen Schaltern kompilieren, wie folgt: brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste(ich verwende Homebrew)

Wenn Sie tmux Version 2.2 oder höher verwenden, fügen Sie Ihrer tmux.conf-Datei Folgendes hinzu:

bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
Funktioniert für El Capitan 10.11, tmux 2.7

Die Antwort von @Oplatek tritt in Kraft

Gehen Sie in der Standard-Terminalanwendung zu Ansicht-> "Mausberichte zulassen" und deaktivieren Sie es.

Aber auf diese Weise könnten wir den Bildschirm nicht mit der Maus scrollen.

Hier ist ein anderer Weg ohne Deaktivierung Allow mouse reporting:

Drücken FnSie und wählen Sie den Text mit der Maus aus. Die Auswahl bleibt dort, sodass Sie mit der rechten Maustaste klicken und Kopieren auswählen können.

Unter Verwendung von tmux 2.2, OS X El Capitan, Terminal Version 2.6.1 (der Standard, der mit El Capitan ausgeliefert wird) funktioniert das folgende Setup (bisher) einwandfrei.

$ cat ~/.tmux.conf
set -g mouse on
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

Zum Kopieren linke Maustaste drücken, Text markieren und loslassen. Der markierte Text liegt dann in der Zwischenablage und kann wie gewohnt mit Cmd+ eingefügt werden.v

Überprüfen Sie ChrisJohnsen/tmux-MacOSX-pasteboard: Notes and workarounds for accessing the Mac OS X pasteboard in tmux sessions.

brew install reattach-to-user-namespace

Dann ergänzen .tmux.conf:

set-option -g default-command "reattach-to-user-namespace -l zsh"

Ich finde nur einen Weg

Öffnen Sie die Terminaleinstellungen/-profile in den Terminalinformationen. Ändern Sie den Terminaltyp von xterm-256 in ansi. Öffnen Sie ein neues Terminalfenster und genießen Sie es :)