.tmux.conf 'da (X panoya) kısayolu kopyala


22

Tmux'taki X panoya metin kopyalamak için şu anda yaptığım şey:

  • ile seçim moduna git prefix[
  • Seçimi ile başlatmak space( mode-keys vibtw kullanarak )
  • metni seçin ve enter
  • tmux tamponunu kullanarak X panoya kopyala prefixctrl+c

(Olarak bir eşlemem var bind C-c run "tmux show-buffer | xclip -selection clipboard -i"

Seçim modu için bir eşleme yaparak bu adımların bazılarını ortadan kaldırmaya çalışıyorum. Denedim:

bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"

bana ve hata veriyor:

.. usage: bind-key [-cnr] [-t key-table] key command [arguments]

(Hatayı kopyalayamadım)

bunu nasıl düzeltebilirim?

EDIT: Fareyi normal bir seçim gibi kullanarak (ilk 3 adımda) tmux tamponunu seçip kopyalayabildiğimi fark ettim (vurgulama devam etmese de, metni seçer) ve sonra x panoya kopyalamak için aşağıdaki ciltlemeyi kullandım :

bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"

(Bu metni kopyalamak için bu yöntemi kullandım ve kolaydı;)

O notu -nO anlamına gelir "hayır öneki" dolayısıyla ihtiyaç vardır öncelenimin. gözden kaybolma vurgusu ile karıştırılmazsanız, bu normal (ortak kullanıcı arayüzü) kopyalamaya benzer.

Şimdiye kadar bulduğum en iyisi bu.

EDIT2: çıktı ctrl+cben değiştirildi böylece süreç kesme şeyle çakışmaları ctrl+alt+cşimdilik. (hoşuma gitmedi)

EDIT3: tmux 1.8 ya da öylesine kopya modunda tuş bağları eklemek için destek eklendi, böylece şimdi ilk orijinal amacım şu gibi bir şey kullanarak mümkün:

bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"

Bu iki ciltleme, kullandığımda metni panoya kopyalamayı enterveya ykopyalamayı bitirmeyi mümkün kılar .

Kopyalamayı fare ile yapıyorum ve tmux arabellek içeriğini daha sonra panoya almaya karar verdim diye hala bu satırı tutuyorum:

bind-key y run "tmux show-buffer | xclip -selection clipboard -i"

1
Ctrl-c ile stty kullanarak başka bir şey arasında kesmeyi değiştirebilirsiniz. Örneğin, Ctrl Z kullanımı: stty intr=^Z. Bu komutla dikkatli olun, kesme karakteri olarak normal bir karakter ayarlamak mümkündür (bunu yaparsanız, ayarı düzeltene kadar girmek için ctrl-v kullanın). Ve hangi anahtarın kullanıldığı konusunda kafanız karışmaz (örneğin, ctrl-z normalde askıya alma anahtarıdır).
— kül

@ ash not edildi, teşekkürler .. ama sanırım ^ckopyalamadan daha sık kullandığım kadar kesme anahtarı olarak kalacağım . Ayrıca şu anki çözümümü bu soruna yansıtmak için cevabı da güncelledim.
— yok,

kulağa iyi geliyor. Ayrıca, birçok xmodmap işleminin, düzeltilmesi zor olan şeyleri komik bir duruma sokabileceğini unutmayın, bu nedenle komutların etkisi yanlış görünüyorsa, yeni bir X oturumu ile yeni bir başlangıç ​​yapmanızı öneririm.
— kül

bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"canlı çalışan verir:Unknown command: run
— Alexej Magura

1
Ancak, koşma bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"gayet iyi çalışıyor.
— Alexej Magura

Yanıtlar:


13

Bu cevap, kısayol oluşturma hakkındaki sorunuzu doğrudan yanıtlamaz. Ama işte yaptığım şey bu.

Tuşlarını / fare olaylarını geçirerek geçici olarak askıya alabilirsiniz shift. Böylece, kopyayı yapmak için Shift tuşlarını ve kullanıcı terminal / X tuşlarına kısayollar basabilirsiniz. Benim durumumda Terminator kullanarak basarım, shiftistediğimi fare ile vurgularım, kopyalarım.Ctrl+Shift+C

Bölünmüş bölmeleriniz varsa, geçerli bölmeyi yakınlaştırma / geçiş tuşu ile yakınlaştırıp Prefix + zkopyalama işlemini gerçekleştirebilirsiniz. (tmux v1.8'de test edilmiştir)


Yatay bölmeler nedeniyle bunu kullanamadım ama yakınlaştırma numarası harika görünüyor, bahşiş için teşekkürler.
— yok

Bu, gnome-terminalinde çalışır; fakat tüm terminal emülatörleri için de geçerli midir? Muhtemelen hayır
— jpaugh

Wsl-terminalinde bu çalışır.
— Günümü

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.