Copia negli appunti di Tmux in El Capitan


19

Sono abbastanza contento delle modifiche al Terminal di El Capitan (vedi ad esempio questa domanda ).

Tuttavia, non riesco a capire come abilitare la copia negli Appunti di sistema da Tmux. Ad esempio, ora che sono in grado di selezionare correttamente il testo all'interno di Tmux con il mouse, come posso copiare anche il testo selezionato negli appunti, oltre al buffer di Tmux?

Ho il seguente nel mio 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

Ho provato a modificare l'ultima riga in

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

ma non ha funzionato davvero. Sarei grato per i suggerimenti!

Grazie!


Cmd-C non funziona?
Nohillside

1
@partix: no, poiché il testo copiato viene deselezionato automaticamente dopo aver rilasciato il pulsante del mouse (o il trackpad). Ovviamente funziona nel Terminale, ma non da Tmux all'interno del Terminale.
siphiuel,

L'aggiornamento a Tmux 2.1 ha interrotto lo scorrimento del mouse nei riquadri Tmux.
siphiuel,

Risposte:


27

In realtà, ho appena scoperto una soluzione molto semplice su come abilitare nuovamente la copia usando Cmd + C.

Nell'applicazione Terminale predefinita vai su Visualizza -> "Consenti segnalazione del mouse" e deseleziona. Questo è tutto.

PS: Ovviamente, le nuove belle funzionalità come il trascinamento dello schermo diviso in tmux smettono di funzionare dopo aver deselezionato la segnalazione del mouse.


PS: Ho usato precedentemente la soluzione di @siphiuel, che funziona anche bene.
Oplatek,

1
Grazie!!! Questo è il modo più semplice! Solo che la storia è rotta. Riesco a vedere solo parte della hitstory
Sato

Super gentile Funziona
ShikharDua, il

e questo funziona anche per una sessione tmux remota; Sto pensando che la bind-key ... copy-pipesoluzione potrebbe funzionare solo se si tratta di una sessione tmux locale. Poi di nuovo, forse se esegui la sessione tmux remota all'interno di una sessione tmux locale, potrebbe funzionare? In ogni caso, deselezionando "Consenti la segnalazione del mouse" ha funzionato per me, e c'è anche una scorciatoia ⌘-R (Cmd-R) in modo da poterlo abilitare rapidamente per fare una copia, quindi riaccenderlo.
Aaron Wallentine,

24

Se usi iTerm2 3.x, puoi far funzionare copia / incolla abilitando Applications in terminal may access clipboard:

inserisci qui la descrizione dell'immagine

Basta evidenziare il testo con il mouse per copiarlo negli appunti di OS X!

Puoi anche incollare dagli appunti di OS X in tmux con il solito Cmd+ V.


2
questa è stata la soluzione più semplice per me.
Lennart,

Questo e spettacolare!
mljrg,

17

Se tieni premuto il tasto funzione puoi selezionare e copiare negli appunti anche con apple + c.


Stiamo cercando qualcosa di più di una risposta a riga singola. Prova ad espandere la tua risposta per fornire ulteriori dettagli.
Allan,

2
@Allan Questa è una risposta completa, anche se è solo una riga. È così semplice.
pkuhar,

a proposito, ho scoperto che funziona solo sulla tastiera del laptop, non sulle tastiere collegate :(
amohr

8

In realtà, mi sbagliavo affermando che copy-pipenon funziona. Lo fa, ed copy-selectionè quindi superfluo, poiché copy-pipeentrambi copiano il testo su Tmux pasteboard e le pipe in un comando shell arbitrario. Quindi la seguente riga funziona:

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

Tuttavia, è necessario premere yprima di rilasciare il pulsante del mouse. Mi sono imbattuto in questo nella documentazione per il plugin tmux-yank :

"Quando si effettua una selezione utilizzando tmux mode-mouse on o mode-mouse copy-mode, non è possibile fare affidamento sul comportamento predefinito" rilascia mouse dopo selezione per copiare ". Invece, premere y prima di rilasciare il mouse."

Quindi funziona, ma con una necessità alquanto fastidiosa premere yper copiare il testo selezionato dal mouse.


3
Se stai usando Terminal.app: in macOS Sierra questo non funzionerà a causa della regressione del comportamento Terminal.app. Dovrai usare di nuovo l'hack "riattacca-spazio-utente".
m1keil,

1
Concordo sul commento di @ m1keil. Inoltre, per qualche motivo ho dovuto compilare lo spazio dei nomi da ricollegare a utente con switch aggiuntivi, in questo modo: brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste(sto usando Homebrew)
siphiuel,

4

Utilizzando tmux versione 2.2 o successive, aggiungere quanto segue al file tmux.conf:

bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

Funziona per El Capitan 10.11, tmux 2.7
Homer,

3

La risposta di @Oplatek diventa effettiva

Nell'applicazione Terminale predefinita vai su Visualizza -> "Consenti segnalazione del mouse" e deseleziona.

Ma in questo modo, non saremmo in grado di scorrere lo schermo con il mouse.

Ecco un altro modo senza disabilitare Allow mouse reporting: premere Fne selezionare il testo con il mouse.


0

Utilizzando tmux 2.2, OS X El Capitan, Terminal versione 2.6.1 (il default fornito con El Capitan), la seguente configurazione funziona perfettamente (finora).

$ 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"

Per copiare, premi il tasto sinistro del mouse, segna il testo e lascia andare. Il testo contrassegnato è quindi negli Appunti e può essere incollato con Cmd+ vcome al solito.


-2

trovo solo un modo

apri le impostazioni / i profili del terminale nelle informazioni sul terminale cambia il tipo di terminale da xterm-256 ad ansi apri la nuova finestra del terminale e divertiti :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.