89 votes

Sélectionner du texte dans le terminal sans utiliser la souris

Je suis sur le point d'appuyer sur la touche Entrée pour exécuter une commande dans le terminal, mais avant de le faire, je veux copier la commande dans le presse-papiers sans utiliser la souris.

Comment ?

Si vous êtes ailleurs que dans le terminal, Ctrl + Home le fait.

Existe-t-il un moyen de sélectionner arbitrairement un texte comme celui-là dans le terminal ?

ÉDITION :

  • suppose que l'utilisation d'autres programmes comme screen n'est pas une bonne alternative
  • le texte doit être collé en dehors du terminal, donc Ctrl + y et les séquences similaires ne le résolvent pas non plus

1voto

Jakobovski Points 121

Le Termite de Daniel Micay possède un "mode sélection". Appuyer sur Ctrl+Shift+Espace l'active. Les raccourcis clavier sont semblables à ceux de vim. v ou V sélectionnent à la manière du mode visuel de vim, y tire, Esc quitte le mode de sélection.

Copié de https://stackoverflow.com/questions/1536757/selecting-text-in-terminal-without-using-the-mouse/29386401

0voto

Colin Points 619

En supposant que bash ou compatible, vous pouvez copier la commande de votre historique dans le presse-papiers après l'avoir exécutée :

$ fc -lrn | head -1 | xclip -se c

Si vous ne voulez pas l'exécuter avant de le copier dans le presse-papiers, passez devant avec Ctrl+A et le transformer temporairement en commentaire en ajoutant # .

Disposer d'un alias pour la ligne de commande ci-dessus est pratique pour enregistrer les procédures de la ligne de commande pour une référence ou une documentation ultérieure. Cependant, il est encore plus pratique d'ajouter la dernière commande directement à un fichier si nécessaire en créant une commande comme celle-ci ( c2f = command to file ):

$ c2f() { fc -lrn | head -1 >> "${1?}"; }

Utilisation :

$ cat <(echo '!! example command that "includes chars" with shell > semantics, etc') | cat >&2
$ c2f readme.md

readme.md contient maintenant :

...
cat <(echo '!! example command that "includes chars" with shell > semantics, etc') | cat >&2

Pour faciliter l'édition du fichier par la suite, il peut également être utile de développer légèrement ce qui précède et d'ajouter une syntaxe appropriée pour envelopper la commande à ajouter au fichier, par exemple ```bash...``` .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X