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?
Ctrl + Maj + c -> Copier
Ctrl + Shift + v -> coller
Dans le terminal ... Allez dans Edition> Raccourcis clavier ... et cette fenêtre s'ouvre ...
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.
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.
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: ~/f
TAB. 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.
Une approche complètement différente consisterait à utiliser un fichier temporaire, comme
terminalA> pwd > /tmp/somepwd
terminalB> cp * `cat /tmp/somepwd`