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?


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.