Dans ce fil, la réponse du haut montre comment copier du texte qui a été précédemment sélectionné avec la souris sur un terminal gnome, dans le presse-papiers de X11.
Ma question est la suivante: disons que je copie un morceau de texte à partir du terminal à l'aide de bash set-mark et copiez les raccourcis clavier (c'est-à-dire set-mark
+ M-w
). Est-il possible de partager ce presse-papiers avec X11?
EDIT : Dans la question d'origine, j'ai parlé de partager le presse-papiers avec GNOME, mais comme Gilles le souligne ci-dessous, GNOME n'a pas spécifiquement de presse-papiers (c'est général pour X), j'ai donc mis à jour la question.
Réponses:
Le presse-papiers de Bash est interne à bash, bash ne se connecte pas au serveur X.
Vous pouvez modifier la signification de
M-w
pour copier la sélection dans le presse-papiers X¹ en plus du presse-papiers interne de bash. Cependant, l'intégration de bash est assez lâche, et je ne pense pas qu'il existe un moyen d'accéder aux informations de la région ou au presse-papiers à partir du code bash. Vous pouvez créer un raccourci clavier pour copier la ligne entière dans le presse-papiers X.²Si vous voulez faire des choses fantaisistes dans le shell, passez à zsh, qui (entre autres avantages) a une bien meilleure intégration entre l'éditeur de ligne et le langage de script.
¹ Gnome n'a pas spécifiquement de presse-papiers, c'est général pour X.
² Depuis bash 4.1, il y a un bug dans le code d'analyse des clés: les séquences de touches liées avec
bind -x
ne peuvent pas dépasser deux caractères. Je pense que bash 4.2 corrige certains cas de préfixes plus longs mais pas tous; Je n'ai pas recherché les détails.la source
zsh
.copy_line_to_x_clipboard
exactement ce qui me manquait depuis très longtemps: l'équivalent copie de shift + insert. J'ai changé en ctrl-x (bind -x '"\C-x"
) parce queEsc
c'est trop loin à mon goût (et Cc serait le choix le plus stupide possible).esc
par suivi de ce caractère, vous pouvez donc le taper commealt-w
.@Gilles a déjà donné une excellente réponse. Je voudrais juste mentionner l'existence de
xclip
, qui est également un moyen très utile de copier la sortie du terminal dans le presse-papiers X, en y insérant simplement quoi que ce soit:la source
xclip
copie par défaut dans le tampon principal. Pour utiliser le presse-papiers, utilisezxclip -selection clipboard
.