Fareyi kullanmadan terminaldeki metni seçme


68

Terminalde bir komut çalıştırmak için enter tuşuna basmak üzereyim, fakat bunu yapmadan önce fareyi kullanmadan komutu panoya kopyalamak istiyorum.

Nasıl?

Terminalden başka bir yerdeyseniz, Ctrl+ Homeyapar.

Terminalde keyfi bir şekilde böyle bir metin seçmenin bir yolu var mı?

DÜZENLENMİŞ:

  • gibi diğer programları kullanarak screeniyi bir alternatif olmadığını varsayalım
  • Metin, terminal dışına yapıştırılmalıdır, yani Ctrl+ yve benzer dizileri de çözemez.

1
Ctrl-Shift-Home mu demek istiyorsun?
Mekanik salyangoz

Shift-Home satırın başına kopyalar. Ctrl-Shift-Home sayfanın başına kopyalar.
Strapakowsky

Shift-Home ve Ctrl-Shift-Home benim için aynı şeyi yapar (terminalin başlangıcına atlar) ve hiçbiri Ctrl-Y veya Ctrl-Shift-V (veya seçilmez) tarafından yapıştırılacak herhangi bir şeyi kopyalamaz gibi görünmez. Ancak metin editöründe çalışır, kopyalamaz, sadece seçerek. OpenSUSE Leap 15'i Sanal Kutuda Kullanma. Cevaplarda belirtilen her diğer anahtar bağlayıcı çalışır.
Brambor

Yanıtlar:


16

Aşağıdaki kısayolu bağlayın:

bind '"\C-p": "\C-e\C-u xsel <<"EOF"\n\C-y\nEOF\n\C-y"'

Şimdi Crtl+ kullandıktan sonra Psatırınız panoya kopyalanacaktır. Aşağıdakileri kullanarak terminalde yapıştırabilirsiniz:

xsel

Ve orta fare düğmesini veya Shift+ kullanarak herhangi bir X uygulamasına Insert.


fareyi kullanmaktan kaçınmak istiyorum. Orta fare tuşu yerine ctrl + shift + v ile yapıştırmak mümkün mü?
MrGigu,

@ MrGigu, bu farklı bir pano kullanır ( buraya bakın ). Başka bir kısayol kullanmanız gerekir. Varsayılan olarak Shift + Insert olmalıdır ( buraya bakın )
Nykakin

Oh teşekkürler, shift + insert işleri yapacak! bu komutla yapıştırabileceğinizi bilmiyordum.
MrGigu

Burada gerçekte neler olup bittiğiyle ilgili bir açıklama var mı?
Alexander

Veya xsel -bstandart panoyu kullanın, yani Ctrl + V / Ctrl + Shift + V. Ayrıca, bu yöntemin çok satırlı komutlarda başarısız olduğuna dikkat edin.
wjandrea

27

Emacs tuşlarını (bash, csh, vb.) Anlayan mermilerden birini kullanıyorsanız, geçerli komutu şununla kopyalayabilirsiniz:

  1. control-A seni hattın başına götürecek.

  2. control-K az önce girdiğiniz tüm satırı öldürecek.

  3. control-Y metni geri çekecek.

Ardından control-Y, metni shell komut satırı düzenleyicisine girdi olarak geri eklemek için metni geri çekiştirebilirsiniz.

Bkz man bashve sonra geldiğinde, sizi READLINE bölümüne ilerletmek için /emacsbirkaç n(sonraki) harfi takip edin.


Bunu biliyordum ama terminal dışına yapıştırmak istiyorum. Açıklama için düzenlenmiştir.
Strapakowsky

3
control-Uemri doğrudan sonundan kesebilir
vstepaniuk

1
2. komut hayatımı değiştirdi.
krishna

10

Düşünebildiğim en yakın şey Ctrl+ u, Ctrl+ y
. Bu tam olarak pano ile aynı değildir, ancak ihtiyacınız olan şey buysa, kabuğun içine yapıştırabilirsiniz.


Bunu biliyordum ama terminal dışına yapıştırmak istiyorum. Açıklama için düzenlenmiştir.
Strapakowsky

8

Ekran adı verilen bir program var. Birden çok örnek arasında geçiş yapmanızı sağlayan bir metin pencereleme sistemi oluşturur. Ancak aynı zamanda metin seçmenize de izin verir.

sudo apt-get install screen

Bu komut onu yükler.

Sonra yazın screen

Komut sırasını başlatmak için ctr-a kullanın. Ardından esc tuşuna basın, imleciniz herhangi bir yöne hareket edecektir. Metin seçimini başlatmak için enter tuşuna basın, bitiş noktasına gidin, tekrar enter tuşuna basın. Bu, arabelleğe kopyalayacaktır.

Sonra ctr-a ve sonra} yapıştırır

Diğer komutlar hakkında daha fazla bilgiyi burada bulabilirsiniz http://www.kuro5hin.org/story/2004/3/9/16838/14935


İyi öneri, ancak screenfarklı nedenlerden hoşlanmıyorum , bu yüzden düzenli Ubuntu terminalini farz edin. Açıklama için sorumu düzenledi.
Strapakowsky

1
Bu doğru cevap IMHO olarak işaretlenmelidir.
eddiewould

2

Vim'in içindeyseniz, görsel olarak Shift+ ile bir veya daha fazla çizgi seçebilir vve ardından bir yyseçim yapabilirsiniz , örneğin , seçimi xclip'e aktarmak için .

Vimrc'nize bağlamayı ekleyin:

vnoremap yy :w !xclip -selection clipboard<CR><CR>

Bu, xclip'in kurulmasını gerektirir , Debian / Ubuntu yetenek deposundadır.

xclipstdin'i depolar, -selection clipboardseçenekle stdin'i sistem panosuna da iter.

Böylece xclipterminalden jenerik bir şekilde de kullanabilirsiniz , örneğin bütün bir dosyayı sistem panosuna kopyalamak için:

cat myfile | xclip -selection clipboard

İsteğe bağlı olarak ayrıca bir takma ad da oluşturabilirsiniz:

alias cb="xclip -selection clipboard" 

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.