URxvt ile Kopyalama ve Yapıştırma


27

Ben debian jessie üzerinde URxvt 9.20 kullanıyorum ve kopyalayıp I (gnome-terminal ile kullanılmıştır gibi metni yapıştırmak için bir yol arıyorum Ctrl+ Insert, kopyalama Shift+ Insertyapıştırmak için).

O inşaat içinde farklı urxvt konsolları, bu örneğin urxvt ve Iceweasel olsa arasında çalışmaz.

Archlinux kılavuzuna göre denedim , ancak işe yaramayacak (aslında Shift+ Ctrl+ C/ Vdenemeye değecek olsa bile ).

.Xresources:

! ******************
! urxvt config
! ******************

! Disable Perl extension
! If you do not use the Perl extension features, you can improve the security
! and speed by disabling Perl extensions completely. 
URxvt.perl-ext:
URxvt.perl-ext-common:

! Font spacing
! By default the distance between characters can feel too wide. It's controlled
! by this entry: 
! URxvt.letterSpace: -1

! -- Fonts -- !
URxvt.font:xft:Monospace:pixelsize=13
URxvt.boldfont:xft:Monospace-Bold:pixelsize=13
!URxvt*font:  -xos4-terminus-medium-*-*-*-14-*-*-*-*-*-iso8859-15,xft:terminus:pixelsize:12
!URxvt*boldFont:  -xos4-terminus-bold-*-*-*-14-*-*-*-*-*-iso8859-15,xft:terminus:bold:pixelsize:12
!URxvt*italicFont:  xft:Bitstream Vera Sans Mono:italic:autohint=true:pixelsize=12
!URxvt*boldItalicFont:  xft:Bitstream Vera Sans Mono:bold:italic:autohint=true:pixelsize=12

! Disable scrollbar
!URxvt*scrollBar: false

! Scrollbar style - rxvt (default), plain (most compact), next, or xterm
URxvt.scrollstyle: plain

! Background color
!URxvt*background: black
URxvt*background: #1B1B1B

! Font color
!URxvt*foreground: white
URxvt*foreground: #00FF00

! Other colors
URxvt*color0: black
!URxvt*color1: red3
URxvt*color1: #CD0000
URxvt*color2: green3
!URxvt*color3: yellow3
URxvt*color3: #C4A000
URxvt*color4: blue2
!URxvt*color4: #3465A4
URxvt*color5: magenta3
URxvt*color6: cyan3
URxvt*color7: gray90
URxvt*color8: grey50
URxvt*color9: red
URxvt*color10: green
URxvt*color11: yellow
!URxvt*color12: blue
URxvt*color12: #3465A4
URxvt*color13: magenta
URxvt*color14: cyan
URxvt*color15: white
! ******************
! /urxvt config
! ******************

Farenizle metin seçerek kopyalayıp, orta tıklatıp yapıştırarak yapabileceğinizi biliyorsunuz, değil mi? Yapmazsan, bu yeterli mi?
terdon

2
Buradaki sorun, iki programın farklı X-Windows seçimleri kullanması, geleneksel programların PRIMARYShift + Insert ile seçimi kullanması ve diğer sistemlerden gelen tuş bağlarını taklit etmeye çalışan yeni programların CLIPBOARDaynı tuş takımının seçimini yapıştırmasıdır . GTK + 'da PRIMARYfareyi kullanmadan yapıştırmak zorlaşmıştır (üçüncü düğme öykünmesi açıksa @terdon'un söylediği gibi orta klik veya sol + sağ klik). Ancak, bu programların neden aralarındaki verileri iletmediğini açıklarken, arch wiki önerisinin neden işe yaramadığını merak ediyorum.
njsg

ArchWIki'nin önerilerini nasıl denedin? X'i başlatmak için grafiksel bir giriş ekranı kullanıyorsanız, X kaynaklarını kullanarak yeniden yüklemeniz gerekir xrdb(olması gerekir xrdb ~.Xresourcesveya benzer bir şey olmalı ). Her iki durumda da, yeniden başlatmanız gerekir urxvt. Bazı dağıtımlarda, perl uzantılarıyla birlikte ayrı bir paket kurmanız gerekebilir, ancak bunun rxvt-unicodedebian'da temel pakette yer aldığı görülüyor (yine de yanılıyor olabilirim).
njsg

1
@terdon Yorumunuz için teşekkürler. Fareyle seçmek ve orta tıklama ile yapıştırmak gerçekten işe yarıyor. Maalesef başarmak istediğim şey değil, alıştığım gibi Ctrl + Insert / Shift + Insert kullanmak isterim (alışkanlıklar ve mantralar bizi verimli ve hızlı çalışmamızı sağlar, fareyi sık kullanmıyorum) (İ3wm kullanıyorum).)
Thomas John

@njsg, birincil / pano farklarını açıkladığınız için teşekkür ederiz. ArchWiki'de belirtilen "Perl eklentisini" Özel anahtar bağlantıları "ndan denedim, fark yaratmadı (.Xresources'daki" Perl eklentisini devre dışı bırak "bölümünü yorumladım). - Evet, önce ben yaptım $ xrdb -merge ~/.Xresource- Evet, urxvt’yi yeniden başlattım veya yeni bir urxvt terminal penceresi açtım, bu da büyük olasılıkla önemli bir noktadan bahsetmeyi unuttuğum aynı etkiye sahipti: m sadece bir windows yöneticisi kullanarak (i3wm) - Grafiksel bir giriş yöneticisi kullanıyorum
Thomas John

Yanıtlar:


16

Ne yazık ki, X pencere sistemi birkaç farklı kopyala-yapıştır mekanizmasına sahiptir .

Rxvt, çoğu eski okul X uygulamasında olduğu gibi, birincil seçimi kullanır. Genellikle, fareyle bir şey seçtiğinizde, otomatik olarak birincil seçime kopyalanır ve yapıştırmak için orta tıklattığınızda, birincil seçimi yapıştırır.

CtrlGnome-terminal ve Firefox gibi modern GUI araç setlerini kullanan uygulamalarda + Cve Ctrl+ V(veya diğer anahtar bağlantıları) panodan kopyala / yapıştır.

Seçimlerle çalışmayı kolaylaştıracak araçlar var. Özellikle, fareyle seçmek veya Ctrl+ tuşlarına basıp basmamaya kopyalanacak tek bir seçim yapmak istiyorsanız, bir şeyin ne zaman kopyalandığını algılayan otomatik seçim (sizden veya masaüstü ortamınızın başlangıç ​​programlarından başlatın) Cçalıştırabilirsiniz . seçimlerden birini seçip otomatik olarak diğerine kopyalar..xinitrc


20

Metin yapıştırmak için, urxvt / rxvt-unicode dizininde, middle buttonPRIMARY seçimini yapıştırmak için ve Alt/Meta+ CLIPBOARD yapıştırmak için + middle buttonkullanabilirsiniz.

Kopyalamak için, sadece terminaldeki metni işaretlemek, PRIMARY seçimine kopyalar. CLIPBOARD seçimine kopyalamak için biraz çalışmanız gerekir. Rxvt-unicode-9.19 içindeki komut dosyalarına bağladığınız Archlinux sayfasındaki bilgileri birleştirdim ve şöyle bir komut dosyası kullandım: https://gist.github.com/xkr47/98224ed6b0860cb55ec0 . Seçili olan metni CLIPBOARD'a kopyalamak için Ctrl+ Insertveya Ctrl+ Shift+ c`düğmelerine izin verir .

Bu yardımcı olur umarım.

Kayıt için bir masaüstü ortamı da çalıştırmıyorum; Sawfish'i pencere yöneticisi olarak kullanmak.

İpucu : Panoyu "xclip" programından birini kullanarak bir terminalde izleyebilirsiniz:

while :; do echo -ne '\033[31;1mCLIPBOARD: ' ; xclip -o -sel c ; echo ; echo -ne '\033[32;1mPRIMARY:   ' ; xclip -o -sel p ; echo ; echo -e '\033[m--------' ; sleep 1 ; done

veya "xsel" programını kullanarak:

while :; do echo -ne '\033[31;1mCLIPBOARD: ' ; xsel -b -o ; echo ; echo -ne '\033[32;1mPRIMARY:   ' ; xclip -p -o ; echo ; echo -e '\033[m--------' ; sleep 1 ; done

Yan konu: Emacs'ta
Jonas Berlin

Alt / Meta + orta düğmesi benim için Debian'da çalışıyor
Jing

Bu doğru cevap.
Winny

15

Kopyalamak / yapıştırmak için / mekanizmaları için yerleşik mekanizmalar vardır PRIMARY(kullanıcı bazı verileri CLIPBOARDseçtiğinde kullanılır ) ve (kullanıcı bazı verileri seçtiğinde ve açık bir şekilde panodan "kopyalanmasını" ister; Bir uygulamanın "Düzenle" menüsünün altındaki "Kopyala"). X'teki farklı panolar hakkında daha fazla bilgi .

İçin CLIPBOARDo tampon CTRL+META+C(ki CTRL+ALT+Ckopyalama standart PC klavye için) ve CTRL+META+V( CTRL+ALT+V) yapıştırmak için.

Urxvt erkekten alıntı :

SEÇİM: SEÇME VE BASMA METİNİ

Metin seçimi ve ekleme / yapıştırma mekanizması davranışı xterm (1) 'e benzer.

Seçme :

Bölgenin başlangıcında sol tıklama, bölgenin sonuna sürükleyin ve bırakın; İşaretli bölgeyi genişletmek için sağ tıklayın; Bir kelime seçmek için sola çift tıklayın; Kaynak tripleclickwords ile değiştirilmedikçe, tüm mantıksal çizgiyi (çoklu ekran satırlarını kapsayabilir) seçmek için sol tıklayın.

Meta tuşuna (veya Meta + Ctrl tuşlarına) basarken bir seçim başlatmak (Derlemek: fırfırlar) normal bir seçim yerine dikdörtgen bir seçim oluşturur. Bu modda, seçilen her satır seçimde kendi satırına dönüşür ve arkadaki boşluk, görsel olarak çizilir ve seçimden kaldırılır.

Yapıştırma :

Bir urxvt penceresinde Orta fare düğmesine basılması ve bırakılması, PRIMARY seçiminin (veya Meta değiştiricili CLIPBOARD'ın) klavyede yazılmış gibi eklenmesini sağlar.

Shift-Insert tuşlarına basmak, PRIMARY seçiminin de eklenmesini sağlar.

rxvt-unicode ayrıca Ctrl-Meta-c bağlanmalarını ve CLIPBOARD seçimiyle etkileşime girmelerini sağlar. İlk bağlama, CLIPBOARD seçimine kopyalanacak olan iç seçimin değerine neden olurken, ikinci bağlama CLIPBOARD seçiminin değerinin eklenmesine neden olur.


Neden çözümlerin man sayfasında olduğunu düşünmüyorum? Şimdi her şey bana açık! Teşekkür ederim!
Enrico Maria De Angelis

1
Bu arada, sağ tıklamadan ve yapıştırmadan önce bir şey seçtiğimde ana seçim ile pano arasında hangisinin yapıştırıldığını unutmaya devam ettim . Şimdi açık: öncePRIMARY .
Enrico Maria De Angelis

12

Panodan seçim perl ekstansiyonu ile hem Birincil hem de Panoya urxvt kopyalayabilirsiniz. Bu onları senkronize tutar, böylece sadece bir kez urxvt içinde kopyalarsınız ve o da kullanan uygulamalarda çalışmalıdır.

URxvt.perl-ext-common: selection-to-clipboard

2
Bu uzantı için kısayolu değiştirebilir miyim? Varsayılan ctrl-alt-c / v'yi sevmiyorum. Ctrl-shift-c / v olmasını isterim.
Trismegistos

3
@Trismegistos, bir loook var burada
Coder
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.