Çalışma alanını uzak tmux oturumu ile yerel Mac OS çalışma tahtası arasında senkronize etme


18

Kurulum: Uzak bir sunucuya bağlanmak için MacOS'ta iTerm2 kullanıyorum. Uzak sunucu, dosyaları açtığım ve vim oturumlarında düzenlediğim tmux'u çalıştırıyor.

Sorun: Uzak tmux oturumu ile yerel iTerm istemcisi arasında kopyalama / yapıştırma yapamıyorum. Metin seçmek için iTerm 2'nin alt / option + fare seçimini kullanabilirim, ancak bu birden fazla vim bölmesi / tmux bölmesi üzerinden kopyalanıyor - kötü.

Tmux bölmelerinde seçimlerin uzak çalışma alanı ile yerel (MacOS çalışma alanı) arasında senkronize edilmesini sağlayan herhangi bir zarif çözüm var mı? Kullanıcı-ad-alanını yeniden gördüm , ama istediğim şeyi yapmadığından eminim.


3
Bu gerçekten bir tmux problemi mi? Bana genel olarak sadece ssh üzerinden bağlanan aynı sorunu yaşar gibi görünüyor.
kejadlen

3
Bir tmux sorunu olmayabilir, ancak bir iş akışı sorunudur. Bu kesin sorunu olan tek kişi ben olamam - bu yüzden başka insanların bu sorunu aşmak için ne yaptığını merak ediyorum.
bhargav

Yanıtlar:


13

Böylece, sunucuya ssh yaptığınızda, ters tünelleme kullanabilirsiniz, böylece OSX makinenizle komutlar göndermek için geri konuşabilirsiniz pbcopy.

ssh -R 1234:localhost:22 remoteServer

1234Uzak sunucudaki herhangi bir açık bağlantı noktasıyla değiştirin . Ardından uzak sunucuda şunları çalıştırabilirsiniz:

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

Bu, OSX'e geri bağlanmalı ve tmux kopya arabelleğinizin içeriğini ona göndermelidir. OSX makinenize şifrenizi yazmamak için ssh tuşlarını kullanabilirsiniz.

Bu işe yararsa, tmux tuş bağlamalarınızı oluşturabilirsiniz.

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

Bunun çalışması için OSX'te Uzaktan Paylaşımı açmanız gerekeceğini unutmayın.

İkincil Seçenek:

OSX kullandığınızdan, ayrıca iTerm2 kullanıyorsanız, http://code.google.com/p/iterm2/downloads/detail?name=tmux-for-iTerm2-20120203.tar.gz&can yüklemeyi düşünebilirsiniz. = 2 & q = sunucularınızda.

Temel olarak "-C" bayrağını destekleyen özel bir tmux'dur. Bu bayrak pencereleri, bölmeleri ve bunların iTerm2'ye bölünmesini sağlar.



2

Daha basit bir yöntem

  1. Panoyu senkronize etmek için XQuartz'ı etkinleştir
  2. Uzak sunucuya bağlanırken X11 iletmeyi kullanma
  3. Tmux.conf dosyasında olduğu gibi bir bağlayıcı var: bind-key C-c run ‘tmux show-buffer | xsel -pbi'
    • seçtiğiniz X panosu borudan sonra

İsterseniz benzer bir bağlamayı da vim'de yapabilirsiniz.


0

Papa'nın cevabı sayesinde tmux -Cipucunu denedim .

  1. Hiçbir şey yüklemenize gerek yoktur, çünkü geçerli tmux sürümü -Cbayrağı desteklemektedir .
  2. Kullanın -CC, çünkü -Cher zaman çalışmaz.

Yani tmux -CC(veya tmux -CC attach) tmux ile zaten olduğundan daha iyi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.