Sincronizza il pasteboard tra la sessione tmux remota e il pasteboard locale di Mac OS


18

Installazione: utilizzo iTerm2 su MacOS per connettermi a un server remoto. Il server remoto esegue tmux, in cui apro i file e li modifico in sessioni vim.

Problema: non riesco a copiare / incollare tra la sessione tmux remota e il client iTerm locale. Posso usare l'alt / opzione + selezione del mouse di iTerm 2 per selezionare il testo, ma questo viene copiato su più riquadri vim / riquadri tmux - male.

Esiste una soluzione elegante per fare in modo che le selezioni in tmux riquadri vengano sincronizzate tra il pannello di controllo remoto e quello locale (pannello di sistema MacOS)? Ho visto reattach-to-user-namespace , ma sono abbastanza sicuro che non fa quello che voglio.


3
È davvero un problema tmux? Mi sembra che avresti lo stesso problema in generale collegandoti solo a SSH.
kejadlen,

3
Potrebbe non essere un problema tmux, ma è un problema di flusso di lavoro. Non posso essere l'unico ad avere questo esatto problema - motivo per cui mi chiedo cosa fanno gli altri per aggirare il problema.
bhargav,

Risposte:


13

Quindi, quando entri nel server, puoi usare il tunneling inverso in modo da poter parlare con il tuo computer OSX per inviarlo pbcopy.

ssh -R 1234:localhost:22 remoteServer

Sostituire 1234con qualsiasi porta aperta il server remoto. Quindi sul server remoto, è quindi possibile eseguire:

tmux save-buffer - | ssh -p 1234 localhost pbcopy

Ciò dovrebbe riconnettersi a OSX e inviare ad esso il contenuto del buffer di copia di tmux. Potresti voler usare i tasti ssh per evitare di digitare la password sul tuo computer OSX.

Se funziona, puoi quindi creare le tue combinazioni di tasti tmux.

bind C-c run "tmux save-buffer - | ssh -p 1234 localhost pbcopy"

Dovrei notare, per far funzionare tutto questo, dovrai attivare la Condivisione remota in OSX.

Opzione secondaria:

Dal momento che stai usando OSX, se stai usando anche iTerm2, potresti considerare di installare http://code.google.com/p/iterm2/downloads/detail?name=tmux-for-iTerm2-20120203.tar.gz&can = 2 & q = sui tuoi server.

Fondamentalmente è un tmux personalizzato che supporta il flag "-C". Questa bandiera passa su finestre, riquadri e tutta la loro divisione in iTerm2.



2

Un metodo più semplice

  1. Abilita XQuartz per sincronizzare gli appunti
  2. Utilizzare l'inoltro X11 quando ci si connette al server remoto
  3. Avere un'associazione come nel tuo tmux.conf: bind-key C-c run ‘tmux show-buffer | xsel -pbi'
    • dove gli Appunti X di tua scelta sono dopo la pipe

Se lo desideri, puoi anche eseguire un'associazione simile in vim


0

Grazie alla risposta di papa, ho provato il tmux -Csuggerimento.

  1. Non è necessario installare nulla, poiché l'attuale versione di tmux supporta il -Cflag.
  2. Usa -CC, perché -Cnon funziona sempre.

Quindi con tmux -CC(o tmux -CC attach) tmux è persino meglio di quanto non sia già.

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.