Tamponu panoya kopyalamak için tmux'u kullanma


118

Bir tmux tamponunda olanı panoya kopyalamak için iyi bir yol bulmaya çalışıyorum. Birkaç farklı şey denedim

bind-key p select-pane -t 2 \; split-window 'xsel -i -b' \; paste-buffer

ki bu beni oldukça yaklaştırıyor, tek yapmam gereken önek-p yaptıktan sonra control-d'ye basmak.

Bunu yaparak tamir etmeye çalıştım

bind-key p select-pane -t 2 \; split-window 'xsel -i -b << HERE\; tmux paste-buffer\; echo HERE'

Ama bu sadece işe yaramıyor. Aslında bunu eşleştirirsem

bind-key p select-pane -t 2 \; split-window 'xsel -i -b << HERE'

hiçbir şey yapmaz, bu yüzden ayrık pencerenin bir kabuk komutunda << beğenmediğini farz ediyorum.

Herhangi bir fikir?

Düzenleme: İsterseniz atlayabilirsiniz, select-pane -t 2gerçekten önemli değil. Sadece belirli bir düzen kullanıyorum ve bölme 2, başka bir şey yaparken bölmeyi tercih ediyorum, böylelikle varsayılan olarak bölmeleri içeren ciltlemelerime giriyorum.


2
Diğerlerinin yanıtlarından daha yeni olan aşağıdaki 2014 cevabına bakınız. Çok iyi çalışan tmux yank eklentisini önerir.
Dmonopoly,

Tmux 2.4 (Nisan 2017'de yayımlandı) ve 2.6 ile güncel olan bir cevap için cevabımı görün
Jason Axelson

Yanıtlar:


26

Burada belgeler yeni hatlara ihtiyaç duyar. Örneğin, bir kabuk komut dosyasında yazabilirsiniz

cat <<EOF >somefile; echo  done
file contents
EOF

Tmux'un oraya yeni çizgiler koymanıza izin verdiğini sanmıyorum ve olsa bile, bu iyi bir yaklaşım olmaz. Verilerin kendisi HEREbir satırda tek başına içeriyorsa (örneğin, kopyaladığınız için .tmux.conf)?

Tampon içeriğini geçici bir dosyaya yazmanızı öneririm. Test edilmemiş:

bind-key p save-buffer ~/.tmux-buffer \; run-shell "xsel -i -b <~/.tmux-buffer && rm ~/.tmux-buffer"

Bu komutu iki ayrı tmux örneğinde kullanırsanız, bir yarış koşulu var. Bunu nasıl çözeceğimi bilmiyorum.


Teşekkürler mükemmel çalışıyor, yarış durumu benim için endişe değil, sadece 1 seans kullanıyorum.
Dijital Güçler

Irk koşullarından kaçınmak için mktemphangisinin yaygın olarak kullanılabileceğini öneririm
Grief

@Grief İyi fikir. Bu durumda, tmux işleminin PID değerini kullanmak da işe yarayacaktı ve düzenlemesi daha kolay olacaktır ( $PPIDtmux tarafından başlatılan bir kabuğun içinde). Fakat değişken dosya adını (ancak inşa edilmiştir) argümanına save-buffernasıl sokarsınız ? Tamamen geçici bir dosyayla olan Grauwolf'un cevabında olduğusave-buffer - | … gibi sanırım ?
Gilles,

Haklısın, benim hatam, bu mümkün olmaz.
Keder

93

Bu çalışmalı:

# move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# move tmux copy buffer into x clipboard
bind C-y run "tmux save-buffer - | xclip -i"

1
Yani öyle. Bu geçici bir dosya kullanmaktan daha hoş, teşekkürler. TMUXÇevre değişkenleri sayesinde otomatik olarak eşzamanlı oturumlarla bile baş edebiliyor .
Gilles

22
Bunun için daha iyi bir talimat C-polacaktır: bind C-p run "xclip -o | tmux load-buffer - ; tmux paste-buffer"- alıntılama sorunları veya komut satırı limitleri yok.
saat

8
Seçim sırasında panoya seçimi kopyalamak için tmux'un kancası var mı copy-mode?
Ehtesh Choudhury

1
xclip -oseçenek benim için işe yaramadı bu yüzden değiştimbind C-c run "tmux save-buffer - | xclip -selection c"\; display-message "Buffer copied to clipboard"
Pawka

6
Ne zaman kopyayı bu şekilde yaparsam, tmux herhangi bir klavye kısayoluna cevap vermeyi keser. Bunun bir çözümü var mı?
skrat

41

Mac OS-X için daha basit bir çözüm

Bu Alex'in cevabından yola çıkarak o zaman bulunmayan şeyleri kullanıyor.

Homebrew kullanıyorsanız (ve kullanmıyorsanız , neden siz değilsiniz?) O zaman şunu yapabilirsiniz:

brew install reattach-to-user-namespace

Sonra senin içinde ~/.tmux.conf:

set-option -g default-command "reattach-to-user-namespace -l zsh" # or bash...
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"

Tamponu tmux'dan kopyalamak için (tmux kullanarak bir şeyi zaten kopyalamış olmalısınız) Mac çalışma alanına ekleyin <tmux-key> Control-c. Şimdi Command-vveya mevcut olacakpbpaste

Mac kartondan bir şey yapıştırmak için kullanın <tmux-key> Control-v.


2
Bu cevap mükemmel. tmux show-bufferHangi hat sarma sorunlarının tmux save-buffer -çözdüğünü kullanıyordum .
event_jr

-Sonunda ne yapar tmux save-buffer -?
hekevintran

Stdout'u yayar save-buffer. -Bir dosya adı ile değiştirebilirsiniz ve oraya kaydeder. Bu, bir dosya yazmanızı (ve temizlemenizi) önler.
12'de

1
OS X 10.10'dan itibaren kullanıcıya yeniden adt alanını yeniden okumak gerekli değildir. Tmux ve OS X ile ilgili hemen hemen her eğitim ve dokümantasyon bundan bahsetmektedir, çünkü kopyala ve yapıştırmak birkaç yıl önce kolay mümkün değildi. Bugünlerde (çoğunlukla) kutudan çıkıyor.
Rafael Bugajewski,

40

copy-pipeKomut sürümü 1.8 olarak eklenmiştir. Bir seçimi tmux tamponuna kopyalar ve bir komuta iletir. Şimdi bir önek bağlama için gerek yoktur. İşte bir örnek:

bind -t vi-copy y copy-pipe "xclip"

# For OS X users:
bind -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

Eğer seçilen bazı metin var Şimdi ne zaman copy-mode, yişletim sistemi panoya yanı sıra tampon tmux o metni kopyalar. Ancak, panodan tmux arabelleğine metin almak isteyip istemediğinizin bir yardımı olmaz.


1
Mükemmel çalışıyor ve demetin en basit çözümü.
Naseer

2
Benim için Linux altında çalışmıyor, bu olsa da: unix.stackexchange.com/a/131074/13601
Sebastian Blask 15

1
OS X 10.10'dan itibaren görünmesine reattach-to-user-namespacegerek yok.
Chris,

el capitan üzerinde çalışıyor
olleh

2
Bu artık 20 Nisan 2017'de yayımlanan Tmux 2.4 için geçerli değil. Bunun yerine kullanmanız bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip"ve OS X için:bind-key -T copy-mode-vi y send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
Jason Axelson 19

16

Tmux-yank eklentisini denemek isteyebilirsin . Doğrudan sistem panosuna (OS X ve Linux) ve mevcut kabuk satırını işaretlemek gibi bazı diğer özelliklere kopyalamayı sağlar.


7
Bu harika, temiz bir çözüm ve diğerlerinden çok daha yeni bir cevap olduğundan daha fazla düşünülmeli. Paylaşım için teşekkürler!
Dmonopoly,

9

Farklı bir çözüm denedikten sonra, işte son kurulumum:

# move x clipboard into tmux paste buffer
bind C-p run "xclip -o | tmux load-buffer -
# move tmux copy buffer into x clipboard
bind C-y run "tmux save-buffer - | xclip -i -selection clipboard"

show-buffer yerine save-buffer kullanmak, bölmelerdeyken satır kesmelerinde gösterildiği gibi veriler olmadan gerçek verileri verir.

Bunu, tmux kopya modunda seçime / kopyalamaya başlamak için de kullanıyorum:

bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

Kopya seçimini 'y' tuşuyla birleştirmek mümkün olabilir ve x panoya taşıyabilirim.


Bahsettiğin gibi her iki komutu da başarılı olmadan birleştirmeye çalışıyordum. Nasıl yapılacağı hakkında bir fikrin var mı?
Rafael Vega,

9

İşte kapsamlı bir cevapta bir girişim.

İlk önce küçük bir tarihçe

Bu soru ilk kez sorulduğunda (Haziran 2011), Tmux’dan panoya metin kopyalamak iki aşamalı bir işlem olmalıydı, önce seçilen metni Tmux’un arabelleğine kopyalayın, sonra metni Tmux’un arabelleğinden sistem panosuna kopyalayın.

1.8'de (Mart, 2013), copy-pipeseçilen metni doğrudan sistem panosuna (veya başka bir hedefe) kopyalamanıza izin veren bir komut eklendi.

Daha sonra 2.4'te (Nisan 2017) anahtar tablolar önemli ölçüde değiştirildi ve bu sayfadaki cevapların çoğu modası geçmiş oldu.

Orijinal soruya cevap vermek

Linux :

bind-key C-y run-shell "tmux save-buffer - | xclip -i -r > /dev/null" \; display-message "Copied tmux buffer to selection"
bind-key C-Y run-shell "tmux save-buffer - | xclip -i -r -selection clipboard > /dev/null" \; display-message "Copied tmux buffer to clipboard"
bind-key C-p run-shell "xclip -o | tmux load-buffer - ; tmux paste-buffer"

Mac :

Homebrew kullanıyorsanız reattach-to-user-namespace, bir terminalde aşağıdaki komutu çalıştırarak yüklemelisiniz :

brew install reattach-to-user-namespace

Sonra ~ / .tmux.conf dosyasında:

bind-key C-y run-shell "tmux save-buffer - | reattach-to-user-namespace pbcopy" \; display-message "Copied tmux buffer to clipboard"
bind-key C-p run-shell "reattach-to-user-namespace pbpaste | tmux load-buffer - ; tmux paste-buffer"

Daha Kısa Yöntem (tmux> 2.4 için doğrudan ve panoya bir seçimi kopyalayıp yapıştırın)

Not: Linux için iki sürüm vardır çünkü Linux bir birincil ve ikincil panoya sahiptir (seçim olarak da bilinir).

Linux :

bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip -r" \; display-message "Copied to selection"
bind-key -T copy-mode-vi Y send-keys -X copy-pipe "xclip -r -selection clipboard" \; display-message "Copied to clipboard"
bind-key C-p run-shell "xclip -o | tmux load-buffer - && tmux paste-buffer"

Mac :

bind-key -T copy-mode-vi y send-keys -X copy-pipe "reattach-to-user-namespace pbcopy" \; display-message "Copied to clipboard"

Bu komutları özelleştirme

  • Komutun durum satırında ne yaptığını size söylemesini istemiyorsanız, sadece display-message( \;bunun yanından önce gelenleri) kaldırın .

  • Vi yerine Emacs tarzı kopyalama kipini kullanıyorsanız, copy-mode-viyalnızcacopy-mode

  • Linux çalıştıran ve kullanmak istiyorsanız xselyerine xclipdeğiştirmek xclip -rile xsel -i -pve xclip -oilexsel -o -p

  • -rİçinde xclip -rgeçen yeni satır kaldırır, isteğe bağlıdır. Komutları kopyalamak için kullanışlıdır, sonra yapıştırdığınızda hemen çalıştırılmazlar.

  • SSH üzerinden tünel açıyorsanız, https://unix.stackexchange.com/a/354581/14252

Referanslar:


Bu komut bind-key C-p run-shell "xclip -o | tmux load-buffer - ; tmux paste-buffer"hala geçerli mi? içintmux>2.4
alpha_989 30:18

7

Fazladan tuş basmaktan hoşlanmıyorum, bu yüzden daha hırslı bir şey istedim. [İle kopya moduna girin, sağdaki metni vurgulayın ve sonra metni panoya kopyalamak için] tuşuna basın.

Ayrıca, tmux, sarmalayan ifadelere yeni satırlar eklemeyi sever (ve garip bir şekilde bu yeni satırlar yanlış yerdedir! İfadenin ekrana sarıldığı yer değildir). Böylece C-] 'nin yeni satırları kaldırarak ifadesini kopyalamasını istedim.

Tmux 1.6'da şunu denedim:

bind [ copy-mode
bind -t vi-copy ] run "tmux send-keys Enter; tmux show-buffer | xclip -i -selection clipboard;"
bind -t vi-copy C-] run "tmux send-keys Enter; tmux show-buffer | perl -pe 's/\n//' | xclip -i -selection clipboard;"

Fakat bu işe yaramadı çünkü tmux karmaşık şeyleri vi-kopya masasına bağlamaktan mutlu görünmüyordu. Ben de bunun yerine bunu yaptım:

bind [ copy-mode \;                                                        \
    bind -n ] run                                                          \
    "tmux send-keys Enter;                                                 \
     tmux show-buffer | xclip -i -selection clipboard;                     \
     tmux unbind -n C-];                                                   \
     tmux unbind -n ]" \;                                                  \
    bind -n C-] run                                                        \
    "tmux send-keys Enter;                                                 \
     tmux show-buffer | perl -pe 's/\n//' | xclip -i -selection clipboard; \
     tmux unbind -n C-];                                                   \
     tmux unbind -n ]"

Bu, garip şeylere yol açar (] veya C-], bir sonraki kullanımda, ancak kopya modundan başka bir yolla] veya C-] 'den çıkarsanız komik davranır. Bu, hayal ettiğim bazı bağlarla düzeltilebilir, ancak çoğu zaman istediğim şeyi yapar.


stackoverflow.com/a/10954274/69663 de bağlama anahtar sınırlamaları da ilgili bir hata raporu var olduğunu belirtiyor sourceforge.net/tracker/...
unhammer

4

Arch Wiki'de xclipşunları kullanarak bir çözüm var :

# move tmux copy buffer into x clipboard
bind-key C-y save-buffer /tmp/tmux-buffer \; run-shell "cat /tmp/tmux-buffer | xclip"

https://wiki.archlinux.org/index.php/Tmux


2
Tmux save-bufferdosyayı güvenli bir şekilde paylaşılan bir dizinde oluşturur mu? Aksi taktirde yerleştirmek /tmpbir güvenlik deliğidir. Bir işe yaramaz kullanımı var catve geçici dosyanın kaldırılması eksik. Öyleyse , burada eşdeğer olan bir xselvs meselesidir xclipve benim (yetersiz yazılmış) çözümüm var.
Gilles

1
Sağol Gilles. Puanlarınızı yansıtacak şekilde wiki güncelleyeceğim.
jasonwryan

4

Mac OS X için bir çözüm. Şu 2 adımı izleyin:

  1. Chris Johnsen'in geçici çözümünü kullanın: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard

  2. Bu kodu tmux config'inize ekleyin (~ / .tmux.conf)

# paste clipboard into tmux buffer
bind v run-shell "reattach-to-user-namespace -l zsh -c 'tmux set-buffer \\"$(pbpaste)\\"; tmux paste-buffer'"
# put tmux buffer into x clipboard
bind y run-shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'"


4

Pişirdiğim kabul edilmiş cevabın biraz değiştirilmiş bir çeşidi.

Ayrıca xclip'in primaryvarsayılan panosuna (fare seçimi ve farenin orta tıklamasıyla elde ettiğiniz ) ek olarak sistem panosunu (Ctrl-C, Ctrl-V) kullanmayı tercih ederim . Sistem panosunu seçmek için -selection clipboardargüman iletmeniz gerekir xclip.

Ayrıca, bir tamponu bir panoya kopyalarken, hangi tamponu kopyalayacağımı seçmeyi de severim. Kullanılarak yapılır choose-bufferve daha sonra bağımsız değişken tampon geçen save-bufferkullanılarak -b %%.

# Copy into clipboard
bind C-c choose-buffer "run \"tmux save-buffer -b %% - | xclip -i -selection clipboard\""
# Paste from clipboard
bind C-v run "xclip -o -selection clipboard | tmux load-buffer - ; tmux paste-buffer"
# Copy into primary
bind C-y choose-buffer "run \"tmux save-buffer -b %% - | xclip -i \""
# Paste from primary
bind C-p run "xclip -o | tmux load-buffer - ; tmux paste-buffer"

GÜNCELLEME: Bir şekilde tmux 1.8 ve iki tane openSUSE 12.2 kurulumlarımdan tmux run-shellbiriyle xclip, stdin'den bir borudan okunurken çağrılmaya başladığında bir askıda kaldığını görüyorum . Bunun yerine denemeye karar verdim xselve işe yarıyor. Bunlar, kullanılan eşdeğer anahtar bağlayıcılarıdır xsel. Ayrıca &&daha sağlam olması için komutları yapıştırma işleminde kullandım.

# Copy into clipboard
bind C-c choose-buffer "run \"tmux save-buffer -b '%%' - | xsel -i -b\""
# Paste from clipboard
bind C-v run "xsel -o -b | tmux load-buffer - && tmux paste-buffer"
# Copy into primary
bind C-y choose-buffer "run \"tmux save-buffer -b '%%' - | xsel -i\""
# Paste from primary
bind C-p run "xsel -o | tmux load-buffer - && tmux paste-buffer"

4

Bu arabellek uzak (ssh) tmux oturumundan kopyalamak için xclip kullanarak iki büyük sorunu gidermesi gereken oldukça uzun cevabım:

1. Tepki Vermeyen xclip

Benim için Grauwolf en @ cevap ile xclipçalışmadı (tamamen irresponsive bölmesinde tmux oluşturur). Neden Arch wiki'nin Tmux sayfasında olduğunu öğrendim :

xclip, bu amaçla da kullanılabilir, xsel'den farklı olarak, geçerli yerel ayarlara uymayan ham bit akışını yazdırmada daha iyi çalışır. Bununla birlikte, xclip yerine xsel kullanmak daha düzenlidir, çünkü xclip, tmux'un tampon belleğinden okuduktan sonra STDOUT'u kapatmaz. Bu nedenle, tmux kopyalama görevinin tamamlandığını bilmez ve xclip'in sonlandırılmasını beklemeye devam eder, bu nedenle tmux'u yanıt vermiyor. Bir çözüm, xclip'in STDOUT'unu / dev / null dizinine yönlendirmektir.

Öyleyse, bağlayıcı:

bind-key C-y run "tmux save-buffer - | xclip -i -sel clip > /dev/null"

Şimdi, eğer tmux oturumunuz yerel ise bu işe yarayacak.

2. xclip X ile bağlantı kuramıyor

Eğer ssh -X üzerinde tmux kullanıyorsanız , bunun doğrudan işe yaramayacağı büyük ihtimaller .

Bunun nedeni, kabuk değişkeninin $DISPLAYuygun şekilde ayarlanması gerektiğidir.

Tam çözüm

Bu yüzden, benim için tam çalışma çözümü benim aşağıdaki satırları koymaktır ~/.tmux.conf:

set-option -g update-environment "DISPLAY"
bind-key C-y run "export DISPLAY=`tmux show-env | sed -n 's/^DISPLAY=//p'`; tmux save-buffer - | xclip -i -selection clipboard >/dev/null"
# Or more concise:
bind-key C-y run "tmux save-buffer - | xclip -i -selection clipboard -d `tmux show-env | sed -n 's/^DISPLAY=//p'` >/dev/null

Birincilden yapıştırmak için:

bind-key C-p run "xclip -d `tmux show-env | sed -n s/^DISPLAY=//p` -o | tmux load-buffer - && tmux paste-buffer"

$DISPLAYKaynak alırken neden doğru şekilde ayarlanmadığını tam olarak anlamadım .tmux.conf, bu yüzden tmux show-envve ile çıkartmam gerekiyor sed.

Tmux> = 1.8 varsa, bu komutu aşağıdakilerle uyarlayabilirsiniz copy-pipe:

bind-key -t vi-copy y copy-pipe 'xclip -in -selection clipboard -d `tmux show-env | sed -n s/^DISPLAY=//p` >/dev/null'

/home/linux/.tmux.conf:11: invalid or unknown command: bind-key C-y run "tmux save-buffer - | xclip -i -selection clipboard -d `tmux show-env | sed -n 's[0/0] PLAY=//p'` >/dev/null
kullanıcı

@ gösterdiğiniz sedkomut yazdığımla aynı değil ... Yazdığınız şey bu .tmux.confmu?
PlasmaBinturong

Kodunu kopyaladım ve yapıştırdım.
kullanıcı

@ kullanıcı, garip. Birçok hata kaynağı olabilir. Öncelikle teklifinizin uygun olup olmadığını kontrol edin. O zaman aşina sedmısın? Komut olmalıdır: sed -n s/^DISPLAY=//p. Alternatif olarak, şunu kullanabilirsiniz cut: tmux show-env DISPLAY | cut -d'=' -f2. Ayrıca tmux versiyonunuzu kontrol etmeye de değer olabilir.
PlasmaBinturong

3

Bir tmux tamponunda olanı panoya kopyalamak için iyi bir yol bulmaya çalışıyorum. Birkaç farklı şey denedim

Emacs tarzı ciltlemeler için birkaç farklı seçenek var. (Vi stili benzer olmalıdır?) Emacs'de "kopya seçimi" yapmak için tipik bağlanma Mw'dir, bu nedenle tmux'da aynı bağlamanın olması çok uygun olacaktır.

1 - İdeal olur, fakat çalışmaz (tmux sınırlaması nedeniyle?)

unbind-key -t emacs-copy M-w
bind-key -t emacs-copy M-w copy-selection\; \
  run-shell "tmux save-buffer - | xsel --input --clipboard"

2 - Benim için iyi sonuç veren uzlaşma : tmux'taki emacs-copy için farklı bir anahtarlık kullanmayı kabul et. Örneğin CMw kullanın. ("Global olarak" tanımlanacak olan bu ciltleme - sadece kopya modunda değil - sadece kopya modunda da faydalıdır)

bind-key -n C-M-w send-keys M-w\; \
 run-shell "tmux save-buffer - | xsel --input --clipboard" 

3

Bu cevapların çoğu benim Ubuntu 14.04 için olduğu gibi zsh ile işe yaramadı. Kabuğumun bununla bir ilgisi olup olmadığından emin değilim, ancak işte bu kopya için bu stratejiyi ve yapıştırma için bu stratejiyi kullanmaya çalışan versiyonum .

    bind-key -t vi-copy 'v' begin-selection
    bind-key -t vi-copy 'y' copy-pipe "xclip -sel clip -i"
    bind-key ] run-shell "xclip -sel clip -o | tmux load-buffer - ; tmux paste-buffer" 

Bazı notlar:

  • copy-pipe için, panomı belirtmem gerekiyordu -sel clip -i. Bu satır yank'ı tmux buffer ile birleştirir ve xclip'e gönderir.
  • Aslında yapıştırmak için, hangi panoya sahip olduğumu tekrar belirtmem gerekiyordu. -sel clip -o

Bu benim vim / zsh / tmux kurulumum için şimdi güzel çalışıyor.


teşekkür ederim! -sel clip -isorunu çözer. Her ne kadar, neden yapıştırmak için tekrar pano belirtmeniz gerektiğini anlamıyorum ( ]benim için standart işler)
melekes

1

Ve @Leif cevabının geliştirilmiş versiyonu şunlar olabilir:

tmux bind-key '[' run "tmux copy-mode;
tmux bind-key -n ']' run \"tmux send-keys Enter; tmux save-buffer - | xclip -i -selection clipboard;
tmux unbind-key -n ']'\";
tmux bind-key -n q run \"tmux unbind -n ']'; tmux send-keys q\";
tmux bind-key -n C-c run \"tmux unbind -n ']'; tmux send-keys C-c\""

Bu şekilde, kopya modundan başka bir yoldan çıkarsanız hiçbir sonuç yoktur], yukarıdaki kod tundle / tmux-yank içine tmux metnini sistem panosuna kopyalamak için tmux eklentisine sarılır , OS X üzerinde tmux> = 1.6'yı hedefler. ve Linux.


1

Tmux sürüm 2.2 veya daha yenisine sahip OS-X'te aşağıdakiler çalışacaktır:

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

1

Çok copyqsatırlı bir pano yöneticisi kullanıyorum. (Windows, OSX, Linux ile çalışır.)

  • Aşağıdaki satırları içine ekleyin ~/.tmux.conf:

    set-window-option -g mode-keys vi
    bind C-y run 'out=`tmux save-buffer - ` && copyq add "$out"'
    
  • cygwintalepleri copyq.exekonumu içinde ~/.bashrc:

    export PATH="$PATH:/cygdrive/c/Program Files (x86)/CopyQ"
    
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.