historique-recherche-arrière fonctionnant différemment dans zsh que dans bash

10

J'ai history-search-backwardmappé comme PageUp.

Quand je tape:

git push <PageUp><PageUp><PageUp>
  1. dans Bash, il commence à parcourir toutes les entrées de l'historique en commençant par git push
  2. dans Zsh, il commence à parcourir toutes les entrées de l'historique en commençant par git , il répertorie les entrées telles git status, git remote updateetc. Ce n'est pas ce que je veux.

Comment puis-je faire en sorte que zsh se comporte comme bash? Que setoptdois-je régler?

Paweł Gościcki
la source

Réponses:

13
bindkey "^[[5~" history-beginning-search-backward

bindkey "^[[6~" history-beginning-search-forward

C'est ce que j'utilise

gtmanfred
la source
Si vous voulez que la même fonctionnalité mais avec l'arror Up et Down, remplacez la clé de liaison "^[[5~"vers "^[[A"et "^[[6~"vers"^[[B"
Autodidact
1
La recherche de début d'histoire de zsh a toujours une différence subtile avec la recherche d'historique de bash (readline). La commande de readline est équivalente à history-backward / forward (et place le curseur à la fin de la ligne) avant de déplacer le curseur sur la ligne (ce qui le transformera en "history-begin-search") tandis que ceux de zsh mettent toujours le curseur au début de la ligne. Existe-t-il un moyen simple de modifier ce comportement sans écrire de nouveau widget? THX
yuyichao
@yuyichao, avez-vous peut-être trouvé comment se zshcomporter comme bash?
Blaz
@courteous Pas vraiment, bien que je m'habitue au comportement zsh après l'avoir utilisé pendant un certain temps ... D'autant plus qu'un simple <C-e>peut transformer le zshcomportement en bashcomportement mais pas si facile dans l'autre sens.
yuyichao