Encontrei a solução para o meu problema na documentação do ZSH . Oh-my-zsh parece mapear as teclas ↑e ↓para algo como
bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward
O que produz o comportamento exato que descrevi acima. A documentação ZSH descreve o comportamento de history-search-backward
quanto
Pesquise no histórico uma linha que comece com a primeira palavra no buffer .
O que eu queria era o seguinte mapeamento, que eu inseri no meu ~/.zshrc
:
bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward
O comportamento de history-beginning-search-backward
é o seguinte:
Procure no histórico uma linha que comece com a linha atual até o cursor . Isso deixa o cursor em sua posição original.
Além disso, se \e[A
não funcionar com as setas para cima ou para baixo, pressione <ctrl-v><KEY (e.g., up arrow)>
outro terminal fornecido ^[OA
. Então você pode usar isso em vez de \e[A
. O processo é descrito aqui: http://zshwiki.org/home/zle/bindkeys