Come abilitare la ricerca inversa in zsh?


38

Di recente sono passato a zsh (finalmente) e lo adoro! Finora una cosa che mi manca è Ctrl+ Rfare una ricerca cronologica incrementale.
Ho la cronologia impostata correttamente

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

e ho usato vile associazioni dei tasti

bindkey -v

Ma Ctrl+ Rnon funziona. Rimuove la linea sopra la linea corrente, che non è nemmeno il comportamento che dovrebbe avere in vim.

Eventuali suggerimenti?


1
tra l'altro una rapida soluzione consiste nell'utilizzare la ricerca non incrementale: Ctrl+ [ /...
maxschlepzig

Risposte:


60

Se ricordo bene, è necessario impostarlo esplicitamente, anche con bindkey -v. Usa qualcosa del genere:

bindkey -v
bindkey '^R' history-incremental-search-backward

4
forse history-incremental-pattern-search-backwardè un'azione alternativa da utilizzare in quel contesto.
maxschlepzig,

2
@maxschlepzig scusa qual è la differenza tra i due?
Ali,

2
@Ali, con i -pattern- versioni è possibile utilizzare search-pattern (che lo stile, cioè globbing o regex () dipende da altre parti della vostra zsh-configurazione?) - come ad esempio, è possibile utilizzare la ricerca-modello fo*barcon grepda abbinare ' fobar ',' foobar ',' fooobar 'ecc.
maxschlepzig,

3
Stavo ricevendo un errore. Avvolgendo ^ R tra virgolette lo ha fatto. bindkey "^R" history-incremental-pattern-search-backward
Ramon Tayag,

1
bindkey -vdeve precederehistory-incremental-search-backward
Deniz il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.