Essa é uma pergunta antiga, mas a única resposta (e aceita) basicamente explica como transplantar o "emacs-like" history-incremental-search-backwardpara o modo vi. Embora isso seja perfeitamente factível e possa ser a solução certa para você, é um pouco estranho que ninguém tenha mencionado a "maneira vi" de pesquisar na história.
O modo vi no zsh suporta o histórico de pesquisa usando as teclas vi / vim padrão: /e ?, ambas disponíveis no modo de comando. (Pressione <Esc>para alternar do modo de inserção para o modo de comando, assim como no vi ou vim.)
O sentido deles é invertido: porém, como você normalmente deseja pesquisar o histórico do seu shell ao contrário, /faz uma pesquisa reversa, enquanto ?faz uma pesquisa direta.
Depois que o primeiro hit é exibido, você pode (como no vi / vim) usar npara continuar encontrando mais hits na mesma direção ou Npara reverter a direção da pesquisa.
As ligações de teclas padrão relevantes no vicmdmapa de teclas são:
"/" vi-history-search-backward
"?" vi-history-search-forward
"n" vi-repeat-search
"N" vi-rev-repeat-search