J'essaie de trouver un moyen de copier le texte actuel dans une ligne de commande dans le presse-papiers SANS toucher à la souris. En d'autres termes, je dois sélectionner le texte uniquement avec le clavier. J'ai trouvé une solution à mi-chemin qui peut conduire à la solution complète:
Ctrl+a - déplacez-vous au début de la ligne.
Ctrl+k - coupe toute la ligne.
Ctrl+y - retire le texte coupé.
Alternativement, je peux également utiliser Ctrl+upour effectuer les 2 premières étapes.
Bien sûr, cela fonctionne, mais j'essaie de savoir exactement où le texte coupé est enregistré. Existe-t-il un moyen d'y accéder sans utiliser Ctrl+y? Je le xclip
sais et je l'utilise même pour diriger le texte directement dans le presse-papiers, alors je pensais à canaliser les données enregistrées Ctrl+kdans xclip
, mais je ne sais pas comment le faire.
La méthode que j'ai eue jusqu'à présent consiste à écrire un script qui utilise xdotool
pour ajouter echo
au début de la ligne et | zxc
à la fin de la ligne, puis frappe Entrée ( zxc
étant un alias personnalisé qui est essentiellement dirigé vers xclip
). Cela fonctionne aussi, mais ce n'est pas une solution vraiment "propre".
J'utilise Cshell si cela fait une différence.
EDIT: Je ne veux pas utiliser screen
comme solution, j'ai oublié de le mentionner.
Merci!
Réponses:
Si vous utilisez
xterm
ou un dérivé, vous pouvez configurer les raccourcis clavier pour démarrer et terminer une sélection de texte et l'enregistrer en tant que sélection principale X11 ou tampon de coupe. Tu voisman xterm
. Par exemple, ajoutez à votre~/.Xdefaults
:Vous ne pouvez avoir qu'une seule
XTerm*VT100.Translations
entrée. Mettez à jour le serveur X11 avec le nouveau contenu du fichier avecxrdb -merge ~/.Xdefaults
. Commencez un nouveauxterm
.Maintenant, lorsque vous avez une entrée à l'invite de commande, taper 1sur le pavé numérique commencera à sélectionner le texte à la position actuelle du curseur de texte, un peu comme le bouton 1 vers le bas de la souris. Déplacez le curseur avec les touches fléchées puis appuyez 2sur le pavé numérique et le texte intermédiaire est mis en surbrillance et copié dans la sélection principale et le tampon de coupure0. De toute évidence, d'autres touches et actions plus appropriées peuvent être choisies. Vous pouvez également coller la sélection avec des liaisons comme
insert-selection(PRIMARY)
.la source
translations
ressource est la fonctionnalité X Toolkit à laquelle il est fait allusion ici et là et qui n'a pas d'équivalent dans d'autres toolkits. Cependant, vous pouvez basculer entre les ensembles de traductions à l'aide de lakeymap
fonction (en notant le commentaire sur "Vous ne pouvez en avoir qu'une").