Birkaç yol var. Bahsedilen yollardan bazıları (sanırım) tmux, ekran, vim, emacs ve kabuğu içerir. Emacs veya ekran bilmiyorum, bu yüzden diğer üçünden geçeceğim.
tmux
X seçimi olmasa da, tmux'un erişebileceği bir kopyalama modu vardır prefix-[( varsayılan prefixolarak Ctrl+ B). Bu mod için kullanılan arabellek ayrı ve tmux'a özeldir, bu da birkaç olasılık açar ve doğru durumlarda X seçimlerinden daha çok yönlü hale getirir.
Bu moddan çıkmak için q; gezinmek, kullanmak vimveya emacsciltlemek için (default = vim), hjklhareket v/V/C-viçin, karakter / satır / blok seçimi vb. için. Seçiminizi yaptığınızda, Enterkopyalamak ve moddan çıkmak için tuşuna basın.
Bu arabellekten yapıştırmak için kullanın prefix-].
Kabuk
Herhangi kurulum X11: varsayılan olarak iki program ile gelmek gibi görünüyor xclipve xsel(tür aynı zamanda her ikisi de bulunur nasıl gibi startxve xinit). Diğer cevapların çoğu belirtiyor xclipve ben xselonun kısalığını gerçekten seviyorum , bu yüzden kapsayacağım xsel.
Gönderen xsel (1x) :
Giriş seçenekleri
-a, --ekle
seçime standart girdi ekle. İma -i .
-f, --takip et
standart girdi büyüdükçe seçime ekleyin. İma -i .
-i, --input
seçime standart girişi okuyun.
Çıktı seçenekleri
-o, --çıkış
seçimi standart çıktıya yazar.
İşlem seçenekleri
-c, - temizle
seçimi temizle. Tüm giriş seçeneklerini geçersiz kılar.
-d, - sil
Geçerli seçimin silinmesini isteyin. Bu sadece seçimi temizlemez, aynı zamanda seçimin seçilen içeriğin silinmesini sağladığı programa da istekte bulunur. Tüm giriş seçeneklerini geçersiz kılar.
Seçim seçenekleri
-p, --primary
PRIMARY seçiminde çalışır (varsayılan).
-s, - ikincil
SEKONDER seçiminde çalışır.
-b, --clipboard
CLIPBOARD seçiminde çalışır.
Ve bu bilmeniz gereken her şeyle ilgili. piçin (veya başka bir şey) PRIMARY, siçin SECONDARY, biçin CLIPBOARD, oçıkış için.
Örnek: Diyelim ki foobir TTY'nin çıktısını kopyalayıp bir hata raporu için bir web sayfasına yapıştırmak istiyorum. Bunu yapmak için, TTY / X oturumuna / oturumundan kopyalamak ideal olacaktır. Yani soru TTY'den panoya nasıl erişebilirim?
Bu örnekte, X oturumunun görüntülendiğini varsayacağız :1.
$ foo -v
Error: not a real TTY
details:
blah blah @ 0x0000000040abeaf4
blah blah @ 0x0000000040abeaf8
blah blah @ 0x0000000040abeafc
blah blah @ 0x0000000040abeb00
...
$ foo -v | DISPLAY=:1 xsel -b # copies it into clipboard of display :1
Sonra Ctrl-Vher zamanki gibi forma girebilirim.
Şimdi destek sitesindeki birisinin sorunu düzeltmek için çalıştırmam için bir komut verdiğini söyleyin. Karmaşık ve uzun.
$ DISPLAY=:1 xsel -bo
sudo foo --update --clear-cache --source-list="http://foo-software.com/repository/foo/debian/ubuntu/xenial/164914519191464/sources.txt"
$ $(DISPLAY=:1 xsel -bo)
Password for braden:
UPDATING %%%%%%%%%%%%%%%%%%%%%%% 100.00%
Clearing cache...
Fetching sources...
Reticulating splines...
Watering trees...
Climbing mountains...
Looking advanced...
Done.
$ foo
Thank you for your order. A pizza should arrive at your house in the next 20 minutes. Your total is $6.99
Pizza siparişi komut satırının verimli kullanımı gibi görünüyor.
...hareketli.
gayret
İle derlenmişse +clipboard(Bu önemlidir! Kontrol edin vim --version), Vim X PRIMARYve CLIPBOARDseçimlere erişebilmelidir . İki seçime sırasıyla *ve +kayıtlarından erişilebilir ve boş zamanlarınızda diğer kayıtlarla aynı şekilde yazılabilir ve okunabilir. Örneğin:
:%y+ ; copy/yank (y) everything (%) into the CLIPBOARD selection (+)
"+p ; select (") the CLIPBOARD selection (+) and paste/put it
ggVG"+y ; Alternative version of the first example
Eğer vim kopyanız X seçimlerine erişimi doğrudan desteklemiyorsa, bu dünyanın sonu değildir. xselTekniği sadece son bölümde açıklandığı gibi kullanabilirsiniz .
:r ! xsel -bo ; read (r) from the stdout of (!) `xsel -bo`
:w ! xsel -b ; write (w) to the stdin of (!) `xsel -b`
Birkaç anahtar kombinasyonunu bağlayın ve iyi olmalısınız.
:%y+Vim'de kullanıyorum , vim-speak "yank (copy) '+' register (XPRIMARYclipboard) 'a tüm satırları .%Spesifik olmak istiyorsanız bir aralıkla değiştirebilirsiniz . Ancak üç uyarı vardır: 1. Şimdi, kopyalayabilmeniz için herhangi bir metni bir dosyaya kaydetmeniz gerekir. Bu,xclipcevaplarda bahsedilen komutun aksine . 2. Nasıl vim yapacağınızı bilmiyorsanız, bu sıkıcı olabilir. 3. Bunu yalnızca vim derlenirken belirli bir özellik etkinse yapabilirsiniz. GVim yüklerseniz, vim'in hem GUI'sinde hem de terminal örneklerinde varsayılan olarak etkinleştirilmelidir.