history-search-backward trabalhando de forma diferente em zsh do que em bash

10

Eu history-search-backwardmapeei como PageUp.

Quando eu digito:

git push <PageUp><PageUp><PageUp>
  1. no Bash, ele começa a percorrer todas as entradas do histórico começando com git push
  2. no Zsh ele começa a percorrer todas as entradas do histórico começando com git, então ele listará as entradas git status, git remote updateetc. Isso não é o que eu quero.

Como posso ter o zsh se comportando como bash? O setoptque devo definir?

Paweł Gościcki
fonte

Respostas:

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

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

É isso que eu uso

gtmanfred
fonte
Se você quiser que a mesma funcionalidade, mas com ascendente e arror para baixo, substituir a chave de ligação "^[[5~"para "^[[A"e "^[[6~"para"^[[B"
Autodidata
1
A história de início de pesquisa do zsh ainda tem uma diferença sutil da pesquisa de histórico do bash (readline). O comando readline equivale a history-backward / forward (e coloca o cursor no final da linha) antes de você mover o cursor na linha (que fará com que se torne "history-beginning-search") enquanto os zsh's sempre colocam o cursor no início da linha. Existe uma maneira fácil de alterar esse comportamento sem escrever um novo widget? THX
yuyichao
@yuyichao, você talvez tenha encontrado como se zshcomportar bash?
Blaz
@courteous Na verdade, não estou me acostumando com o comportamento do zsh depois de usá-lo há algum tempo ... Especialmente desde que um simples <C-e>pode transformar o zshcomportamento para o bashcomportamento, mas não é tão fácil o contrário.
yuyichao