Primeiro, eu acho isso um pouco estranho: por padrão, o zsh usa combos de teclas estilo emacs (escape seguido por uma chave), a menos que esteja no modo vi, ponto no qual os combos de teclas no estilo emacs são Desativado. O zsh também se coloca no modo vi se você usar um editor do tipo vi como seu editor padrão. Então, parece-me que você provavelmente não originalmente no modo vi, até que você editasse seu zshenv.
Então, primeiro eu perguntaria: você tem 100% de certeza de que sempre esteve usando o modo vi? Ou seja, bindkey -e
resolve seu problema (tente em um shell aberto)?
Pode ser que você esteja realmente melhor no modo emacs ( bindkey -e
). Por outro lado, pode ser que você gostaria de estar no modo vi, mas seria melhor com algumas ligações de estilo emacs .
Ou, talvez eu esteja completamente errado, e eu deveria focar apenas na sua instrução bind, que está escrita incorretamente.
Em primeiro lugar, a inclusão do bit "vicmd" impede que isso funcione no modo insert (normal): ele só funciona se você primeiro pressiona o escape (sozinho) para sair do modo de inserção modo de comando (como você faria no vim). Então, você não pode pressionar "esc- /" como um acorde (tente pressionar escape, soltá-lo e pressionar "/").
Tente a seguinte ligação:
bindkey '\e/' history-incremental-pattern-search-backward
Agora você deve ser capaz de pressionar "escape- /" como um acorde e obter os resultados desejados.