Você pode usar a funcionalidade history-search
do zle:
bindkey "^[[A" history-beginning-search-backward
bindkey "^[[B" history-beginning-search-forward
Isto liga Acima e Abaixo (ajusta suas próprias seqüências de escape) para uma busca de histórico, para trás e para frente, baseado no que já foi digitado no prompt.
Então, se você digitar "vim" e clicar em Acima , o zsh irá percorrer o seu histórico apenas para os comandos que começam com "vim". Você também pode colocar o cursor no final da linha depois de selecionar o comando desejado no histórico do zsh usando o função history-search-end (normalmente localizada em /usr/share/zsh/functions/Zle/
) e anexando -end
ao final de cada linha, assim:
autoload -U history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
bindkey "^[[A" history-beginning-search-backward-end
bindkey "^[[B" history-beginning-search-forward-end