web-dev-qa-db-fra.com

Copier le résultat final d'une fenêtre à une autre

J'ai souvent de nombreux terminaux ouverts lorsque je travaille (GNOME Terminal 3.4.1.1, Bash). Très souvent, j'ai besoin de copier les résultats d'un terminal dans un autre. Un scénario commun:

terminalA> pwd
/home/hooked/foo

terminalB> cp * /home/hooked/foo

Je finis généralement par copier-coller avec la souris. Existe-t-il un raccourci clavier pour ce que j'essaie de réaliser?

6
Hooked

Ctrl + Maj + c -> Copier

Ctrl + Shift + v -> coller

Dans le terminal ... Allez dans Edition> Raccourcis clavier ... et cette fenêtre s'ouvre ... For further info...

6
Sam

vous mettez en surbrillance le texte (ou double-cliquez dessus) que vous souhaitez copier avec la souris et Ctrl + Maj + C pour copier et Ctrl + Maj + V pour coller. Vous pouvez aussi surligner du texte avec la souris et utiliser la touche centrale de la souris/molette de défilement pour coller.

4
Nate

Une autre solution: vous n'avez pas du tout besoin d'utiliser les raccourcis clavier!

Marquez simplement ce que vous voulez avec le bouton gauche de la souris (par exemple, en double-cliquant sur un mot) et collez-le en cliquant sur le bouton central de la souris dans l'autre terminal. Ceci est le "vieux style" presse-papiers X.

4
January

Il existe de nombreuses situations dans lesquelles copier et coller depuis le terminal est utile. Cependant, dans la situation que vous avez citée, je pense qu'il existe une meilleure solution.

Votre situation implique d'opérer sur un chemin qui a été imprimé dans une autre fenêtre de terminal. Vous pouvez copier et coller, mais que se passe-t-il s'il y a des espaces dans le nom? De plus, copier et coller implique de déplacer la main du clavier vers la souris pour sélectionner le texte, ce qui est inefficace.

Dans votre exemple, vous vouliez utiliser /home/hooked/foo. J'assume que /home/hooked est votre répertoire de base, qui est la valeur de la variable d'environnement $HOME. Vous pouvez donc vous référer à $HOME/foo. Mais, dans bash et plusieurs autres endroits, ~ est un raccourci pour $HOME. Ainsi, vous pourriez vous référer plutôt à ~/foo.

Ensuite, l'onglet est complet. Supposons que vous ayez la structure de répertoire suivante:

/
|-> home
    |-> hooked
        |-> foo
        |-> bar
        |-> buzz

Lorsque vous voulez vous référer à ~/foo, vous pouvez taper ceci: ~/fTAB. La touche de tabulation se termine automatiquement. Jouez avec pour apprendre comment cela fonctionne, et vous arrêterez de taper les choses au complet maintenant. Grâce à la complétion des onglets, j'utilise librement les noms de fichiers longs avec des espaces et d'autres caractères spéciaux - parfois même des caractères absents de mon clavier - sans aucun inconvénient, car je n'ai jamais à les taper ni à perdre du temps à les copier-coller.

Si vous apprenez à utiliser ces outils (ainsi que les chemins de répertoire relatifs si vous ne les connaissez pas déjà), je prédis que vous ne trouverez plus besoin de copier-coller pour les opérations du système de fichiers.

1
Scott Severance

Une approche complètement différente consisterait à utiliser un fichier temporaire, comme

terminalA> pwd > /tmp/somepwd

terminalB> cp * `cat /tmp/somepwd`
0
leftaroundabout