Jetzt muss ich zum Kopieren in die System-Zwischenablage per Maustext im tmux-Fenster mit Shift
Schlüssel auswählen . Und dann muss ich diesen Befehl ausführen:
tmux save-buffer - | reattach-to-user-namespace pbcopy
Ist es einfacher, in der Zwischenablage des Systems zu speichern? Schlüsselbindung oder besser automatisch nach der Shift-Freigabe.
Meine tmux-Konfiguration: https://gist.github.com/3641580
macos
shell
command-line
tmux
tomekfranek
quelle
quelle
osx
, aber die Antworten sprechen von Links- und Mittelklick ...Antworten:
Wenn Sie iTerm2 verwenden, können Sie Text in einer Tmux-Sitzung kopieren, indem Sie die OptionTaste gedrückt halten, während Sie die Maus ziehen, um eine Auswahl zu treffen.
Dann sollte es möglich sein, Text wie gewohnt überall mit Cmd+ Veinzufügen. Fand es hier: http://web.archive.org/web/20131226003700/http://ootput.wordpress.com/2013/08/02/copy-and-paste-in-tmux-with-mouse/
quelle
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 der Maus, um ihn in die OS X-Zwischenablage zu kopieren! Sie müssen nicht drücken, Optionwie in der Antwort des Akzeptors angegeben.
Sie können auch mit dem üblichen Cmd+ aus der OS X-Zwischenablage in tmux einfügen V.
quelle
reattach-to-user-namespace
basierten Ansätze funktionieren bei mir nicht, weil ich oft in Linux-Maschinen ssh. Diese Lösung funktioniert jedoch hervorragend! Vielen Dank!set clipboard=unnamed
zu diesem Zweck mein Vimrc hinzugefügtHier wird eine ähnliche Frage beantwortet: /unix/15715/getting-tmux-to-copy-a-buffer-to-the-clipboard
Dort gefundene Lösung:
# move x clipboard into tmux paste buffer bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" # move tmux copy buffer into x clipboard bind C-y run "tmux show-buffer | xclip -i"
Überprüfen Sie auch: http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/
wenn Sie folgende Optionen eingestellt haben:
Maus-Auswahlfenster
Mausauswahlfenster
Sie werden feststellen, dass Sie überhaupt keinen Text auswählen können.
hold down the shift key and then left click and drag across the target text. you must also hold down the shift key and then middle click in order to paste the text.
quelle
xclip -o
=>pbpaste
,xclip -i
=>pbcopy
.Für os x, wenn Sie die App "Terminal" verwenden. Sie können das Scrollen mit der Maus ausschalten und die üblichen Kopier- / Einfügefunktionen (cmd + c / cmd + v) verwenden:
oder Sie können mit der Maus scrollen und Text mit der Taste "fn" auswählen:
quelle
fn
wichtigste Tipp ist ein Lebensretter! Viele Leute schlagen vorALT
, es zu verwenden, aber es funktioniert nicht unter dem neuesten Mac OS xFügen Sie unter OSX mit tmux Version 2.2 oder höher Folgendes zu Ihrer Datei tmux.conf hinzu:
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy" bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
Für tmux Version 2.4 sollten Sie Folgendes verwenden, da sie freundlicherweise beschlossen haben, die Befehlssyntax zu ändern:
bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"
Beachten Sie, dass Sie möglicherweise auch
reattach-to-user-namespace pbcopy
anstelle von normal verwenden müssenpbcopy
.quelle
Das Einfügen in meine ~ / .tmux.conf-Datei funktioniert für mich:
bind y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'"
Alle anderen möglichen Lösungen, die ich gefunden habe, waren das Kopieren von leeren Inhalten in die OSX-Zwischenablage.
Das einzige Problem ist, dass dies einen Wagenrücklauf am Ende des eingefügten Inhalts zu setzen scheint.
quelle
Drücken Sie die linke Maustaste und halten Sie sie gedrückt, wählen Sie Text im Bereich aus und halten Sie die Taste gedrückt. Drücken Sie dann "y", um die Auswahl in der Zwischenablage zu speichern und den Auswahl- / Kopiermodus zu verlassen.
funktioniert hier mit iTerm 3.1.beta.5, tmux 2.5 und der folgenden Konfiguration:
### copy & paste ------------------------------------------------------- # Use vim keybindings in copy mode setw -g mode-keys vi # Setup 'v' to begin selection as in Vim bind-key -T copy-mode-vi v send -X begin-selection bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" # Update default binding of `Enter` to also use copy-pipe unbind -T copy-mode-vi Enter bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
quelle
unbind
.copy-mode-vi
während die ältere Version verwendetcopy-mode
.Drücken Sie die Umschalttaste und klicken Sie dann mit der Maus !! Überprüfen Sie diesen Link. http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/
quelle
Ich konnte dieses Problem mit
CMD
+ lösen,C
nachdem ich den Text mitFN
+mouse drag with left button down
aus demtmux
Fenster in derTerminal
App von macOS High Sierra ausgewählt hatte.quelle
Ich habe heute mit Netcat eine Version erstellt, die ziemlich einfach ist.
https://github.com/base698/tmux-copy-paste-mac-osx
Hier ist die tmux.conf:
bind -t vi-copy 'v' begin-selection bind -t vi-copy 'y' copy-pipe 'nc localhost 5682' bind p run-shell 'nc localhost 5683; nc localhost 5683 | tmux load-buffer -' \; paste-buffer
Funktioniert auch mit der Maus in 1.8
quelle
Hier ist die Lösung, die ich für
tmux
Version 2.8, macOS Mojave 10.14.1 und Terminal.app verwende.Nach dem Loslassen der Maustaste wird die Auswahl beim Kopieren in die Systemzwischenablage (sowie in den
tmux
Puffer) entfernt:bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
quelle
Eine robuste Lösung, die mit jeder Kombination von mosh + tmux + vim + verschachtelten Sitzungen funktioniert
Nachdem ich viele Tage damit verbracht habe, ist die mit Abstand robusteste Lösung, die ich entdeckt habe, die von Suraj N. Kurapati veröffentlichte Lösung . Die Lösung funktioniert lokal mit (und ohne) tmux v3.2 und / oder vim sowie remote mit (und ohne) tmux und / oder vim , wobei sowohl Kopiermodus -Tasten als auch einfache Mausauswahl verwendet werden .
In Kombination mit Mike Gulicks (derzeit offener) Pull-Anfrage funktionieren alle diese Kombinationen auch mit Mosh .
Bis Mikes Lösung in mosh zusammengeführt wird, können Sie seine Änderungen abrufen und lokal erstellen, indem Sie:
Ubuntu:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 \ && sudo apt-add-repository https://cli.github.com/packages \ && sudo apt update \ && sudo apt install -y gh autoconf automake perl protobuf-compiler libprotobuf-dev libncurses-dev zlib1g-dev libutempter-dev libssl-dev pkg-config \ && mkdir -p ~/tmp/mosh \ && git clone https://github.com/mobile-shell/mosh ~/tmp/mosh \ && cd ~/tmp/mosh \ && gh pr checkout 1104 \ && ./autogen.sh \ && ./configure \ && make \ && sudo make install
Mac OS:
Ich denke, Sie müssen zuerst Apples Xcode / Developer Command Line Tools installieren (was IIRC jetzt durch einfaches Ausführen
gcc
und Beenden erfolgen kann) und dann ausführen :/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" \ && brew install gh autoconf automake && mkdir -p ~/tmp/mosh \ && git clone https://github.com/mobile-shell/mosh ~/tmp/mosh \ && cd ~/tmp/mosh \ && gh pr checkout 1104 \ && ./autogen.sh \ && ./configure \ && make \ && sudo make install
Mit diesen Updates ist die Zwischenablage Heiliger Gral endlich erreicht!
Dies sind jedoch sehr neue Informationen, daher ist mein Beitrag ziemlich volatil. Deshalb:
Bitte überarbeiten Sie meinen Beitrag, wenn:
gh pr checkout 1104
von Mikes Änderungen ist nicht mehr erforderlich, da sie in mosh oder zusammengeführt wurdenquelle