Ich verwende die neueste Version von tmux (aus dem Git-Repository) und xclip (0.12) und möchte in der Lage sein, mit Emacs-ähnlichen Tastaturbefehlen den Text in der Zwischenablage zu verschieben, Auswahlen copy-mode
( M-w
) in die Zwischenablage zu kopieren und Einfügen ( C-y
) von / in den Kopierpuffer in die Zwischenablage.
Bisher habe ich in der Lage gewesen Text einfügen mit C-y
, und bewegen sich in copy-mode
mit Emacs-wie Tastaturbindungen, aber ich bin noch nicht Text kopieren von einem tmux Puffer (zB in copy-mode
)
Ich habe diesen Thread zum Kopieren des gesamten Puffers in die Zwischenablage (und umgekehrt) gefunden, aber er scheint bei mir nicht zu funktionieren.
Außerdem wurde tmux-users
mir in der Mail-Liste mitgeteilt, dass die neuesten Versionen von tmux (nur im Git-Repo) einen aufgerufenen Befehl enthalten copy-pipe
. Die Manpage sagt folgendes zu diesem Befehl:
Ein Befehl in akzeptiert ein Argument, copy-pipe, das die Auswahl kopiert und an einen Befehl weiterleitet. Das folgende Beispiel bindet 'C-q', um die Auswahl in / tmp sowie den Einfügepuffer zu kopieren:
bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
Es sieht so aus, als ob copy-pipe
es teilweise verwendet werden soll, um die Auswahl an einen anderen Befehl weiterzuleiten. Es scheint auch einige Tippfehler in dieser Beschreibung und im Befehl zu geben (was ist das temacs-copy
?)
Auf jeden Fall möchte ich Folgendes tun:
Kopieren:
- Aktivieren Sie den Kopiermodus
- Verschieben Sie in dem Text Ich möchte Emacs Navigationsbefehle zum Kopieren verwendet (dh
C-f
,C-b
,M-f
,M-b
,C-a
,C-e
etc. , um den Cursor zu bewegen). Kein Präfix für irgendetwas davon. - Kopieren Sie den ausgewählten Text in die Zwischenablage mit:
M-w
(auch ohne Präfix )
Einfügen:
- Ich möchte in der Lage sein, Text in das Terminal einzufügen
C-y
( ohne ihn eingeben zu müssencopy-mode
) (auch ohne Präfix )
Ich habe folgendes zum Kopieren ohne Glück versucht:
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard"
Das Einfügen funktioniert jedoch hervorragend:
bind-key -n C-y run "xclip -o | tmux load-buffer - ; tmux paste-buffer"
Das seltsame ist, dass ich weiß, dass der " xclip -i -selection clipboard
" Teil des Kopierbefehls gut funktioniert, da ich Dinge in die Zwischenablage in der Befehlszeile kopieren kann , zB:
echo "Hello world. How are you?" | xclip -i -selection clipboard
Wie kann ich bei alledem eine Auswahl aus dem Kopiermodus in die Zwischenablage kopieren?