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

45

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

Comment?

Si vous êtes quelque part autre que le terminal, Ctrl + Home le fait.

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

EDITED:

  • 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
posée Strapakowsky 31.05.2013 - 04:50
la source

5 réponses

13

Relier le raccourci suivant:

bind '"\C-p": "\C-e\C-u xsel <<"EOF"\n\C-y\nEOF\n\C-y"'

Maintenant, après avoir utilisé Crtl + P votre ligne sera copiée dans le presse-papier. Vous pouvez le coller dans le terminal en utilisant:

xsel

Et dans n'importe quelle application X en utilisant le bouton central de la souris.

    
réponse donnée Nykakin 31.05.2013 - 08:28
la source
18

Si vous utilisez un des shells qui comprend les clés emacs (bash, csh, etc.), vous pouvez copier la commande en cours par:

  1. control-A vous amènera au début de la ligne.

  2. control-K va tuer toute la ligne que vous venez d'entrer.

  3. control-Y va récupérer le texte.

Ensuite, vous pouvez control-Y renvoyer le texte pour insérer le texte en entrée de l'éditeur de ligne de commande shell.

Voir man bash puis, quand il apparaît, tapez /emacs suivi de quelques% de n pour passer à la section READLINE.

    
réponse donnée ElderDelp 31.05.2013 - 06:25
la source
6

Le plus proche que je puisse penser est ctrl + u , ctrl + y
Cela supprime de la malédiction au début de la ligne, puis colle du tampon readline. Ce n'est pas exactement la même chose que le presse-papier, mais vous pourriez coller à l'intérieur du shell, si c'est ce dont vous avez besoin.

    
réponse donnée demure 31.05.2013 - 05:03
la source
5

Il existe un programme appelé écran. Il crée un système de fenêtre de texte qui vous permet de basculer entre plusieurs instances. Mais il vous permet également de sélectionner du texte.

sudo apt-get install screen

Cette commande l’installe.

Puis tapez screen

Vous utilisez ctr-a pour lancer la séquence de commandes. Appuyez ensuite sur esc et votre curseur se déplacera dans n'importe quelle direction. Appuyez sur Entrée pour lancer la sélection du texte, déplacez-vous vers le point final, appuyez à nouveau sur Entrée. Cela copiera dans le tampon.

Puis ctr-a et puis} vont coller

Plus d’informations sur les autres commandes ici lien

    
réponse donnée Meer Borg 31.05.2013 - 05:00
la source
1

Si vous êtes dans vim, vous pouvez sélectionner visuellement une ou plusieurs lignes avec Shift + v , puis utiliser une liaison, par ex. y y , pour diriger la sélection vers xclip .

Ajoutez la liaison à votre vimrc:

vnoremap yy :w !xclip -selection clipboard<CR><CR>

Cela nécessite que xclip soit installé, il se trouve dans le référentiel d’aptitudes Debian / Ubuntu.

xclip stocke stdin, avec l'option -selection clipboard , il pousse également stdin dans le presse-papiers du système.

Vous pouvez donc également utiliser xclip de manière générique à partir du terminal, par exemple pour copier un fichier entier dans le presse-papier du système:

cat myfile | xclip -selection clipboard

Si vous pouvez éventuellement également créer un alias, tel que:

alias cb="xclip -selection clipboard" 
    
réponse donnée Kris 16.08.2016 - 10:21
la source

Lire d'autres questions sur les étiquettes