web-dev-qa-db-fra.com

Impossible de transférer l'historique de recherche dans la recherche de la même manière qu'avec CTRL-r

J'essaie de rechercher mon histoire bash de la même manière qu'avec CTRL-r, mais pour avancer la direction.

Cela a été une douleur pour moi, quand je viens de frapper une fois de trop CTRL-r, pour retrouver la commande précédente.

Comment pouvez-vous transmettre votre recherche dans l'historique Bash de la même manière qu'en recherche inversée?

Vous pouvez également rechercher en avant. Dans le manuel d’information de bash, " 8.2.5 Recherche de commandes dans l’historique ":

Pour rechercher une chaîne particulière dans l'historique, tapez C-r. Taper C-s effectue une recherche dans l’historique.

Cependant, le problème avec Ctrl-S est que parfois, le contrôle de flux XON/XOFF entre en collision (dans Konsole par exemple). La recherche est cependant une fonction readline et vous devriez pouvoir la lier à une autre clé. Mise à jour: Plus simple et mieux consiste simplement à désactiver XON/XOFF en exécutant

stty -ixon
284
hlovdal

Le meilleur truc à mon humble avis est d’activer avec pgup et pgdown. il suffit de mettre cela dans votre ~/.inputrc

"\e[5~": history-search-forward
"\e[6~": history-search-backward

logout/login, tapez les premières lettres puis pgup ou pgdown pour effectuer une recherche dans l'historique

ctrl-R recherche dans toutes les lignes contenant des mots, alors que l'historique recherche dans les lignes commençant par des mots

36
Eric Burghard

Vous voudrez peut-être essayer https://github.com/dvorka/hstr , ce qui permet de filtrer le style "zone de suggestion" de l'historique Bash avec un ordre basé sur des métriques (en option), c.-à-d. Qu'il est beaucoup plus efficace et plus rapide dans les deux sens:

enter image description here

Il peut être facilement lié à Ctrl-r et/ou Ctrl-s

22
Martin Dvorak

J'ai l'habitude d'appuyer sur ESC dans le terminal, puis sur '>'. Il réinitialise au moins et vous pouvez alors essayer de cliquer moins souvent CTRL + R.

12
Eyad Ebrahim