Comment envoyer efficacement du texte saisi sur la ligne de commande dans le presse-papiers du système sans utiliser la souris?

14

Supposons que j'ai tapé la longue commande suivante dans la ligne de commande

 $ some very long command that I want to copy to the clipboard

Comment puis-je mettre cela dans le presse-papiers du système de manière efficace? J'utilise Gnome Terminal 2.23.1.

Je sais que je peux obtenir la souris et la mettre en surbrillance et la copier, mais je veux une solution de clavier générale.

Il serait également utile de généraliser à plusieurs programmes en ligne de commande.

Par exemple, en bash en mode vi, je peux appuyer sur vpuis éditer la commande dans vim, et donc utiliser les fonctions de copie de Vim dans le presse-papiers, mais cela ne fonctionne pas lorsque vous utilisez R sur la ligne de commande. C'est aussi un peu lent.

Je voudrais bien qu'en mode vi, je puisse appuyer yyet copier le contenu de la ligne dans le presse-papiers du système, mais cela ne semble pas fonctionner. De plus, aucune commande de tirage ne semble copier le contenu dans le presse-papiers du système; ils semblent copier uniquement vers un tampon utilisé par bash.

MISE À JOUR:

Après avoir posté j'ai trouvé

Jeromy Anglim
la source
1
Pas exactement ce que vous demandez: en utilisant l'écran, vous pouvez obtenir ce que vous demandez en suivant cette réponse: askubuntu.com/questions/56570/…
enzotib
Suite à cette réponse ( askubuntu.com/a/503861/43594 ), vous pouvez activer les touches de la souris dans Universal Access et utiliser le clavier numérique pour déplacer la souris, le chiffre cinq faisant office de clic. Quand il est rapidement double-cliqué, il sélectionnera le mot sur lequel le pointeur survole. Lorsqu'il est rapidement triple-cliqué, il sélectionnera toute la ligne. Ceci ainsi que les réponses sur la façon de copier (Ctrl-Maj-C) devraient faire la plupart de ce dont vous avez besoin.
James

Réponses:

3

Vous pouvez également utiliser un gestionnaire de presse-papiers comme parcellite. C'est un gestionnaire de presse-papiers GTK + qui a également des capacités de presse-papiers en ligne de commande

Vous pouvez l'utiliser via la ligne de commande en

echo "some very long command that I want to copy to the clipboard" | parcellite
##or##
parcellite "some very long command that I want to copy to the clipboard"

Il n'est pas installé par défaut et vous devrez donc installer parcellite en sudo apt-get install parcellite

Nitin Venkatesh
la source
1
merci, au moins quand je suis en bash, j'ai parfois utilisé echo my command | xclip -se c; cependant, lorsque la commande comporte des guillemets et d'autres caractères spéciaux, la echocopie n'est généralement pas littérale.
Jeromy Anglim
1

Donc, la fermeture que j'ai pu obtenir est en utilisant l'historique et xclip conjointement en faisant cela

echo !! | xclip

Cela placera la dernière commande dans le presse-papiers du bouton central. Je cherche toujours quelque chose de mieux, car je voudrais le ramener à une seule commande. Cependant, je me bloque parce que l'historique ne fonctionne pas dans les scripts shell et je ne sais pas qu'il existe un moyen de l'utiliser !!correctement dans un alias. Bien sûr, cela ne semble pas être tout à fait ce que vous demandez mon intention est de l'utiliser pour prendre des notes de ce que je fais. Des pensées?

user27643
la source
De plus, il y a toujours la question de savoir comment copier des commandes avec des guillemets.
Jeromy Anglim
0

Vous devriez pouvoir utiliser Ctrl+ Shift+ Cpour copier et Ctrl+ Shift+ Vpour coller n'importe où dans le terminal.

Dirk Hartzer Waldeck
la source
3
Vous avez toujours besoin de la souris pour sélectionner le texte.
enzotib
doh! point très valable
Dirk Hartzer Waldeck
2
Ce qui pose la question, est-il possible de personnaliser le terminal ou bash pour pouvoir sélectionner du texte à l'aide du clavier?
Jeromy Anglim
@JeromyAnglim Related: stackoverflow.com/q/312213/1172302
Nikos Alexandris