#1 Le 23/01/2010, à 12:09
- Ferod
[Astuce] Rappeler l'argument de la commande précédente
Bonjour tout le monde
Je sais pas si vous connaissez mais en appuyant sur [Esc]+_ on peut rappeler l'argument de la commande précédente. Par exemple vous venez d'ouvrir un fichier toto5145.txt (dans un dossier qui contient 5000 fichiers qui commencent par toto). Maintenant vous voulez le supprimer. Vous n'avez pas envie de jouer avec l'autocomplétion pas vraiment efficace dans ce cas là.
Donc y'a plus qu'à taper rm puis [Esc]+_ pour que le nom du fichier apparaissent.
Et en appuyant de nouveau sur [Esc]+_ vous pouvez remonter dans la liste des commandes précédentes. Quand la commande précédente n'a pas d'argument c'est directement la commande qui apparait.
Autre exemple : Vous venez de copier le fichier toto.dat dans un autre répertoire et vous voulez aller dans ce répertoire.
cp toto.dat ../../lien/vers/nouvel/emplacement/.
cd [esc]+_
J'ai trouvé cette astuce mais apparemment la touche escape peut donner d'autres raccourcis ([esc]+*). Est ce que vous connaissez un site qui les liste toutes ?
Je vais peut être compléter la doc à ce sujet d'ailleurs.
Dernière modification par Ferod (Le 23/01/2010, à 13:57)
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#2 Le 23/01/2010, à 12:25
- snapshot
Re : [Astuce] Rappeler l'argument de la commande précédente
En fait, c'est pas [Esc]+8, mais [Esc]+_ (sous le 8).
Pour avoir toutes ces touches magique, il faut taper la commande bindkey
Ton astuce apparait sous cette forme (^[ veut dire [Esc]) :
"^[_" insert-last-word
Je n'ai pas compris l'utilité de la plupart, mais je suis preneur de vos découvertes !
J'utilise [Esc]+H qui donne de l'aide sur la commande en cours. Exemple, je tape "find" puis ne me rapelle plus le nom de l'option que je cherche. Au lieu d'effacer la ligne, de taped man find, de quitter, et de retaper find, je fais tout simplement [Esc]+H, et ça me donne la page man. Quand je quitte, je retrouve ma ligne de commande.
Il y a aussi [Esc]+U qui passe le mot courant en majuscule, et [Esc]+L pour les minuscules. Pratique quand CapsLock était activé et qu'on ne veut pas tout retaper.
Dernière modification par snapshot (Le 23/01/2010, à 12:26)
Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !
Hors ligne
#3 Le 23/01/2010, à 12:42
- snapshot
Re : [Astuce] Rappeler l'argument de la commande précédente
oups, j'ai oublié que j'utilisais zsh, et non pas bash
en bash, la commande à taper est bind -p... mais elle est moins facile à utiliser et comprendre que celle de zsh. Et l'astuce pour la page man ne marche pas en bash...
Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !
Hors ligne
#4 Le 23/01/2010, à 14:07
- Ferod
Re : [Astuce] Rappeler l'argument de la commande précédente
J'ai corrigé le _ à la place de 8.
Sinon bind -p me trouve toute une liste d'arguments. Je vais essayer aussi de comprendre à quoi elles servent...
Par contre ce qui est pas mal c'est qu'apparemment on peut en définir soit même.
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#5 Le 23/01/2010, à 15:06
- nesthib
Re : [Astuce] Rappeler l'argument de la commande précédente
en bash tu peux aussi utiliser l'opérateur de substitution !* (tous les arguments de la commande précédente) ou !$ (le dernier)
ex.
ls dossier
cd !$
ls fichier1 fichier2
rm !*
pour plus d'infos voir cet excellent guide sur bash
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#6 Le 23/01/2010, à 15:38
- serged
Re : [Astuce] Rappeler l'argument de la commande précédente
Moi, j'aime bien cette astuce : http://forum.ubuntu-fr.org/viewtopic.php?id=307915
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne