web-dev-qa-db-fra.com

Copier et coller avec URxvt

J'utilise URxvt 9.20 sur Debian Jessie et je cherche un moyen de copier et coller du texte comme je l'étais avec le gnome-terminal (Ctrl+Insert pour copier, Shift+Insert pour coller).

Il fonctionne dans différentes consoles urxvt, il ne fonctionne pas entre par exemple urxvt et iceweasel cependant.

J'ai essayé selon le manuel sur archlinux , mais cela ne fonctionnera pas (même si je ne veux pas utiliser Shift+Ctrl+C/V ça valait le coup).

.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
! ******************
28
Thomas John

Malheureusement, le système X Window a plusieurs mécanismes différents de copier-coller .

Rxvt, comme la plupart des applications X à l'ancienne, utilise la sélection principale. Généralement, lorsque vous sélectionnez quelque chose avec la souris, il est automatiquement copié dans la sélection principale, et lorsque vous cliquez avec le bouton central pour coller, cela colle la sélection principale.

Ctrl+C et Ctrl+V (ou d'autres raccourcis clavier) dans les applications utilisant des boîtes à outils GUI modernes, telles que Gnome-terminal et Firefox, copiez/collez à partir du presse-papiers.

Il existe des outils pour faciliter le travail avec les sélections. En particulier, si vous souhaitez simplement avoir une seule sélection copiée, que vous sélectionniez avec la souris ou appuyez sur Ctrl+C, vous pouvez exécuter autocutsel (démarrez-le depuis votre .xinitrc ou à partir des programmes de démarrage de votre environnement de bureau), qui détecte lorsqu'un élément est copié dans l'une des sélections et le copie automatiquement dans l'autre.

Pour coller du texte, dans urxvt/rxvt-unicode, vous pouvez utiliser middle button pour coller la sélection PRIMAIRE et Alt/Meta+middle button pour coller CLIPBOARD.

Pour la copie, il suffit de marquer le texte dans le terminal pour le copier dans la sélection PRIMAIRE. Un certain travail est cependant nécessaire pour la copie dans la sélection CLIPBOARD. J'ai combiné les informations de la page Archlinux que vous avez liées aux scripts inclus dans rxvt-unicode-9.19 et je me suis retrouvé avec un script comme celui-ci: https://Gist.github.com/xkr47/98224ed6b0860cb55ec . Il permet d'utiliser Ctrl+Insert ou Ctrl+Shift+c`pour copier le texte actuellement sélectionné sur CLIPBOARD.

J'espère que cela t'aides.

Pour mémoire, je n'exécute pas non plus un environnement de bureau; en utilisant Sawfish comme gestionnaire de fenêtres.

Astuce : Vous pouvez surveiller le presse-papiers dans un terminal en utilisant soit le programme "xclip":

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

ou en utilisant le programme "xsel":

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
22
Jonas Berlin

Il existe des mécanismes intégrés pour copier/coller vers/depuis PRIMARY (est utilisé lorsque l'utilisateur sélectionne certaines données) et CLIPBOARD (est utilisé lorsque l'utilisateur sélectionne certaines données et le demande explicitement à être "copié" dans le presse-papiers, par exemple en appelant "Copier" dans le menu "Edition" d'une application). Plus d'informations sur les différents presse-papiers dans X .

Pour CLIPBOARD buffer c'est CTRL+META+C (lequel est CTRL+ALT+C pour le clavier PC standard) pour la copie et CTRL+META+V (CTRL+ALT+V) pour coller.

Citation de rxvt man :

LA SÉLECTION: SÉLECTIONNER ET COLLER UN TEXTE

Le comportement du mécanisme de sélection et d'insertion/collage de texte est similaire à xterm (1).

Sélection :

Faites un clic gauche au début de la région, faites-la glisser jusqu'à la fin de la région et relâchez; Cliquez avec le bouton droit pour étendre la région marquée; Double-cliquez à gauche pour sélectionner un mot; Faites un triple clic gauche pour sélectionner la ligne logique entière (qui peut s'étendre sur plusieurs lignes d'écran), à moins qu'elle ne soit modifiée par des mots-clés triples de ressources.

Commencer une sélection en appuyant sur la touche Meta (ou les touches Meta + Ctrl) (Compiler: fioritures) créera une sélection rectangulaire au lieu d'une normale. Dans ce mode, chaque ligne sélectionnée devient sa propre ligne dans la sélection et les espaces de fin sont visuellement soulignés et supprimés de la sélection.

Collage :

En appuyant et en relâchant le bouton central de la souris dans une fenêtre urxvt, la valeur de la sélection PRIMARY (ou CLIPBOARD avec le modificateur Meta) est insérée comme si elle avait été tapée au clavier.

En appuyant sur Maj-Insérer, la valeur de la sélection PRIMAIRE est également insérée.

rxvt-unicode fournit également les liaisons Ctrl-Meta-c et permet d'interagir avec la sélection CLIPBOARD. La première liaison entraîne la copie de la valeur de la sélection interne dans la sélection CLIPBOARD, tandis que la deuxième liaison entraîne l'insertion de la valeur de la sélection CLIPBOARD.

18
petRUShka

Vous pouvez faire une copie urxvt à la fois primaire et presse-papiers avec l'extension Perl sélection-presse-papiers. Cela les maintient synchronisés, vous n'avez donc qu'à copier une fois dans urxvt et cela devrait fonctionner dans les applications qui utilisent l'une ou l'autre.

URxvt.Perl-ext-common: selection-to-clipboard
13
degenerateJoe