Sincroniza a área de transferência entre a sessão remota do tmux e a área de transferência local do Mac OS

17

Configuração: Eu uso o iTerm2 no MacOS para conectar a um servidor remoto. O servidor remoto executa o tmux, no qual abro arquivos e edito em sessões vim.

Problema: Não consigo copiar / colar entre a sessão remota do tmux e o cliente iTerm local. Eu posso usar a opção alt / option + mouse do iTerm 2 para selecionar texto, mas isso copia vários painéis vim / tmux - ruim.

Existe alguma solução elegante para fazer seleções em painéis tmux sincronizar entre o pasteboard remoto e o local (MacOS pasteboard)? Eu vi reconectar-para-usuário-namespace , mas tenho certeza que não faz o que Eu quero.

    
por bhargav 03.04.2012 / 04:38

4 respostas

12

Então, quando você estiver no servidor, você pode usar o tunelamento reverso para que você possa retornar à sua máquina OSX para enviar comandos pbcopy .

ssh -R 1234:localhost:22 remoteServer

Substitua 1234 por qualquer porta aberta no servidor remoto. Então, no servidor remoto, você pode executar:

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

Isso deve se conectar ao OSX e enviar o conteúdo do seu buffer de cópia do tmux para ele. Você pode querer usar as chaves ssh para evitar digitar sua senha na sua máquina OSX.

Se isso funcionar, você pode criar seus atalhos de teclado do tmux.

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

Devo observar que, para que isso funcione, você precisará ativar o compartilhamento remoto no OSX.

Opção secundária:

Como você está usando o OSX, se você também estiver usando o iTerm2, pode considerar a possibilidade de instalar link nos seus servidores.

É basicamente um tmux personalizado que suporta o sinalizador "-C". Esta bandeira entrega janelas e painéis e toda a sua divisão ao iTerm2.

    
por 04.04.2012 / 06:05
2

Acho que esse problema foi resolvido de uma maneira melhor:

link

    
por 24.05.2012 / 16:30
2

Um método mais simples

  1. Ativar o XQuartz para sincronizar a área de transferência
  2. Use o encaminhamento X11 ao se conectar ao servidor remoto
  3. Tenha uma ligação como em seu tmux.conf: %código%
    • onde a área de transferência X de sua escolha está após o canal

Você pode fazer uma ligação similar no vim, se desejar,

    
por 06.05.2013 / 08:13
0

Graças à resposta do papa, tentei a tmux -C hint.

  1. Você não precisa instalar nada, porque a versão atual do tmux suporta o -C flag.
  2. Use -CC , porque -C nem sempre está funcionando.

Portanto, com tmux -CC (ou tmux -CC attach ) o tmux é ainda melhor do que já é.

    
por 24.03.2015 / 15:13

Tags