Contrôle-r inverse-je-recherche dans bash: comment avez-vous “reset” de la recherche dans Cygwin?
Question: Comment dites-vous Ctrl+r inverser le-i-de la recherche pour "réinitialiser" et de lancer la recherche à partir du bas de votre histoire à chaque fois?
De fond: Lors de l'utilisation de l'inverse-je-recherche de Bash, j'ai toujours coincé une fois qu'il est fini de la recherche vers le haut à travers l'histoire et il ne peut pas trouver plus de matchs. Parfois, j'ai frappé Esc et re-invoke Ctrl+r un deuxième temps, l'attend pour démarrer une nouvelle recherche à partir du bas de mon histoire. Cependant, le "pointeur" semble toujours être à la dernière place, il l'a laissée dans mon histoire.
Le problème est, en général, je ne veux pas de ce comportement. Si je frappe Esc, et puis de le ré-invoquer Ctrl+r, je voudrais que pour indiquer qu'il doit re-commencer par le bas à nouveau et de travailler son chemin de retour vers le haut.
Mise à jour: je suppose que je devrais avez mentionné, je suis en utilisant Cygwin sous Windows, car aucun des soi-mesure solutions mentionnées travail.
Mise à jour: Cette question a été marquée comme un le potentiel de double question. Cette question n'est pas un doublon, pour les raisons suivantes:
- L'autre question ne traite pas avec Cygwin.
- L'autre question ne traite pas comment réinitialiser la recherche à son état initial (au lieu de cela, il traite tout simplement aller vers l'arrière, à la recherche ainsi que de l'avant).
- Concernant Cygwin: j'ai mis à jour ma réponse. Je ne suis pas d'utiliser Cygwin ne peut donc pas essayer, mais ^G peut travailler pour vous dans ce cas.
- Oui, il semble que cela fonctionne. ^G immédiatement après ^R
- double possible de Impossible de transférer de la recherche historique Bash même comme avec CTRL-r
Vous devez vous connecter pour publier un commentaire.
Je n'ai jamais essayé de faire ce par défaut lors de la frappe de s'Échapper, mais bash utilise
readline
pour l'entrée, qui accepte, dans le style Emacs raccourcis clavier par défaut, de sorte que vous pouvez aller vers le bas à l'aide deM->
(généralement en combinant Meta/Alt et>
ou par suite de la touche d'Échappement avec>
).Si
M->
ne fonctionne pas parce que votre terminal ne vous laisse pas entrer, essayez de^G
(Contrôle etG
simultanément). C'est le bouton "annuler" de course dans Emacs et travaille généralement avecreadline
trop.Mon bash fonctionne comme vous vous attendez. Peut-être appuyer sur "ctrl+C" au lieu de "esc" peut vous aider.
Aussi, vous pouvez effectuer une recherche vers l'avant en utilisant les touches "ctrl+s"
modifier: ctrl+s fonctionne si il n'envoie pas un "stop" de votre terminal, c'est à dire si "stty -un" vous "-ixon". Vous pouvez le changer en "stty -ixon". Grâce à @Phil pour rappel.
Obtenu une confirmation de réponse à cette question.
Pour réinitialiser ctrl-r, l'habitude de emacs sur la touche ctrl-g peut le faire. Si vous souhaitez annuler ctrl-r en une seule étape, au lieu de travailler votre chemin vers le haut à partir du bas de nouveau, vous pouvez utiliser ctrl-s . Le truc, c'est ctrl-s est également utilisé pour mettre en pause le terminal. De sorte que vous devez l'assigner à une autre touche. Par exemple, le suivant sera mis en pause à ctrl-w (et garder "reprendre" avec ctrl-q).
Alternativement, vous pouvez également désactiver totalement XON/XOFF (cv/pause) flux de caractères de contrôle par
Cela permettra également de libérer de l'ctrl-s. Pour activer de nouveau le mettre en pause/reprendre, vous pouvez le faire
Votre touche alt gauche est plus probable que votre touche Meta.
Homme readline pour plus d'readline directives.