J'utilise Ctrl+ Rtout le temps, mais je finis souvent par dépasser la commande que je recherche car j'appuie dessus si rapidement.
Pour transférer la recherche, Ctrl+ Speut être utilisé à condition qu'il n'est pas utilisé la première borne (konsole dans mon cas, où stty -ixon
dans le ~/.bashrc
fixe).
Cependant, je dois appuyer deux fois: une fois, il semble entrer i-search
après avoir été en reverse-i-search
mode et une deuxième fois pour reculer.
Existe-t-il un moyen de supprimer la nécessité d'appuyer deux fois sur le raccourci?
bash
keyboard-shortcuts
readline
jozxyqk
la source
la source
readline
il manque une fonction "rechercher la même chaîne dans l'autre sens".Réponses:
Voici une approche différente. Si vous êtes à l'aise avec certaines commandes d'édition vi de base, bash prend en charge un vi-mode pour l'édition en ligne de commande. Si vous détestez vraiment vi, vous n'aimerez pas ça. Mais si vous pouvez le tolérer, vous pouvez le trouver préférable et avec moins de touches.
set -o vi
La recherche d'historique fonctionne comme ceci:
Esc
pour entrer en mode commande/
pour commencer la rechercheEnter
effectuer une recherchen
aller au prochain matchN
revenir au match précédenti
pour revenir en mode insertionEnter
exécuter la commandela source
n
etN
, respectivement. Et ils n'ont pas besoin de taper deux fois. Intrigant!Apparemment, la recherche dans l'historique de Bash nécessite une première pression sur le raccourci pour vous permettre de savoir dans quelle direction vous recherchez, puis une seconde pression pour effectuer la recherche. Je ne pense pas qu'il soit possible de changer la façon dont cela fonctionne sans modifier le code source.
Cependant, vous pouvez installer hstr (https://github.com/dvorka/hstr) qui comprend une boîte à suggestions avec des options de recherche avancées pour afficher, naviguer, rechercher et gérer facilement l'historique de vos commandes:
la source