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
et history-search-forward
(par défaut non mappé), en les mappant sur up/down(très utile) dans votre .inputrc
:
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
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 taper ls
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
et history-substring-search-backward
:
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
De cette façon, si vous recherchez ls -ltr
, vous pouvez taper ls
, mais aussi ltr
, avant d'appuyer sur up.
Référence: Manuel de référence Bash - Commandes pour l'historique .
history
vous montrera toutes les commandes bash faites ..