Je garde un historique bash assez long et parfois lorsque je recherche quelque chose avec la fonction de recherche inversée bash ( Ctrl+ r) je me retrouve au début de l'historique de recherche et je n'ai toujours pas trouvé ce dont j'avais besoin et je voudrais revenir à la fin du fichier historique. Une option consiste à utiliser la fonction de recherche directe ( Ctrl+ s) qui se rapproche de la fin de l'historique ou à exécuter #
, mais existe-t-il également un raccourci clavier pour passer directement à la fin de l'historique de bash?
bash
command-history
Martin
la source
la source
history
vous montrera toutes les commandes bash faites ..Réponses:
Il y a la fonction readline
end-of-history
, par défaut mappée sur M- >, mais si elle est utilisée pendant la recherche inversée, elle quitte l'invite de recherche inversée.Une solution / astuce possible
Lancer la recherche de chaînes
Au lieu de cela, pour utiliser la recherche inversée, vous pouvez utiliser
history-search-backward
ethistory-search-forward
(par défaut non mappé), en les mappant sur up/down(très utile) dans votre.inputrc
:Ainsi, après avoir tapé, vous pouvez inverser la recherche en appuyant sur up (au lieu de Ctrl+ R), et lorsque vous souhaitez revenir à la fin de l'historique, vous pouvez utiliser la
end-of-history
fonction en appuyant sur ( M- >)De cette façon, "la chaîne de recherche doit correspondre au début d'une ligne d'historique ", donc, si vous recherchez
ls -ltr
, vous devez taperls
puis appuyer sur la uptouche.Recherche de sous-chaîne
si vous voulez " La chaîne de recherche peut correspondre n'importe où dans une ligne d'historique ", vous devez utiliser
history-substring-search-forward
ethistory-substring-search-backward
:De cette façon, si vous recherchez
ls -ltr
, vous pouvez taperls
, mais aussiltr
, avant d'appuyer sur up.Référence: Manuel de référence Bash - Commandes pour l'historique .
la source