Les commandes readline que vous recherchez sont les history-search-*
commandes:
history-search-forward
Recherche en avant dans l'historique la chaîne de caractères entre le début de la ligne actuelle et la position actuelle du curseur (le point). Il s'agit d'une recherche non incrémentielle.
history-search-backward
Recherche en arrière dans l'historique pour la chaîne de caractères entre le début de la ligne actuelle et le point. Il s'agit d'une recherche non incrémentielle.
Les lier dans votre .inputrc
, comme ceci:
"\e[A": history-search-backward # arrow up
"\e[B": history-search-forward # arrow down
vous permettra d'entrer les premiers caractères d'une commande, puis d'utiliser les touches Upet Downpour parcourir uniquement les commandes de votre .bash_history
qui commencent par cette chaîne.
Par exemple, la saisie de vi
et Upvous amènerait à la première commande précédente commençant par vi
, comme vim somefile
. La saisie vous Upamènerait à l'instance précédente suivante, et ainsi de suite.
Vous pouvez en savoir plus sur toutes les liaisons de ligne de lecture ici:
http://linux.about.com/library/cmd/blcmdl3_readline.htm
Ajoutez un "!" à la commande que vous recherchez. Si vous souhaitez remplacer la fonctionnalité des flèches haut et bas, la modification du fichier inputrc (comme le suggèrent les autres réponses) est la solution.
Si "commande" est la commande que vous recherchez, entrez ceci:
Vous devriez obtenir "commande" en sortie.
De même, si vous souhaitez rechercher une commande qui inclut (mais ne démarre pas) une partie de la commande, appuyez sur ctrl + r, puis tapez une partie de la commande.
Vous pouvez également taper "onglet" pour compléter automatiquement votre texte saisi (cela inclut également les fichiers). Ceci est utile si vous recherchez une commande qui n'est pas dans votre historique (ou si vous n'avez pas de fichier historique)
Vous pouvez en savoir plus sur la "maîtrise" du fichier d'historique ici: http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
Il s'agit d'un doublon possible de /programming/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-line
la source