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!
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.
bind-key ... copy-pipe
Lö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.Wenn Sie iTerm2 3.x verwenden, können Sie das Kopieren / Einfügen aktivieren, indem Sie Folgendes aktivieren Applications in terminal may access clipboard
:
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.
Wenn Sie die Funktionstaste gedrückt halten, können Sie auch mit Apfel + C auswählen und in die Zwischenablage kopieren.
Eigentlich habe ich mich geirrt, als ich sagte, dass copy-pipe
das nicht funktioniert. Es funktioniert und copy-selection
ist dann überflüssig, da copy-pipe
sowohl 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, y
bevor 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.
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"
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 Fn
Sie 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
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 :)
kein Hang
Siphiuel
Siphiuel