Como habilitar a pesquisa reversa no zsh?

38

Recentemente, mudei para o zsh (finalmente) e estou adorando! Até agora, uma coisa que me falta é Ctrl+ Rpara fazer uma pesquisa incremental no histórico.
Eu tenho o histórico configurado corretamente

HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.zsh_history

e eu usei vicombinações de teclas

bindkey -v

Mas Ctrl+ Rnão funciona. Ele remove a linha acima da linha atual, que também não é o comportamento que deve ter no vim.

Alguma sugestão?

Todos
fonte
11
btw uma solução rápida é usar a pesquisa não incremental: Ctrl+ [ /...
maxschlepzig

Respostas:

60

Se bem me lembro, você precisa defini-lo explicitamente, mesmo com bindkey -v. Use algo como isto:

bindkey -v
bindkey '^R' history-incremental-search-backward
Chris Down
fonte
4
talvez history-incremental-pattern-search-backwardseja uma ação alternativa a ser usada nesse contexto.
maxschlepzig
2
@maxschlepzig desculpe qual é a diferença entre os dois?
Ali
2
@Ali, com as -pattern- versões você pode usar busca-padrões (que estilo, ou seja englobamento ou regex () depende de outras partes do seu zsh-configuração?) - como, por exemplo, você pode usar a busca de padrão fo*barcom greppara corresponder " fobar ',' foobar ',' fooobar 'etc.
maxschlepzig
3
Eu estava recebendo um erro. Embrulhando ^ R entre aspas duplas fez isso. bindkey "^R" history-incremental-pattern-search-backward
precisa saber é o seguinte
11
bindkey -vdeve precederhistory-incremental-search-backward
Deniz