Olhe em oh-my-zsh / lib / chaves-bindings.zsh e você verá a linha
bindkey ' ' magic-space # also do history expansion on space
comente para remover este recurso.
(Veja minha pergunta anterior para um contexto adicional).
Estou migrando para zsh
de bash
e usando oh-my-zsh
. Quando meu histórico de zsh
é parecido com o seguinte:
git status
git add -A
git commit
Eu quero poder executar novamente o git add -A
. Para fazer isso, eu poderia usar !?git add
, que deveria:
!?str[?] Refer to the most recent command containing str. The trailing ‘?’ is necessary if this reference is to be followed by a modifier or followed by any text that is not to be considered part of str.
O link para os designadores de eventos do zsh é aqui .
Infelizmente, não consigo fazer isso - como estou digitando !?git add
, ao atingir o ' '
, ele conclui automaticamente o comando para o comando mais recente que corresponde a git
(isto é, ele auto- conclui com git commit
). Eu não posso usar o designador de evento corretamente devido a esse preenchimento automático quando eu atingir o espaço.
Suponho que este é um recurso oh-my-zsh
. Eu não tenho a menor idéia de onde procurar, - grep
ing para 'complete' na fonte oh-my-zsh
não me leva a lugar nenhum.
Minha pergunta: como desativo esse recurso? Ou, se isso não é algo conhecido, onde eu deveria estar procurando - se eu fosse implementar esse preenchimento automático quando o espaço em branco fosse inserido, onde seria um lugar lógico para fazer isso na estrutura oh-my-zsh
?
Existem algumas outras maneiras de eliminar esse gato:
!{?git add?}
As chaves abertas permitirão suprimir a expansão do espaço mágico no primeiro espaço e, em seguida, se você usar a guia após a chave de fechamento, ela será expandida na mesma linha, como mágica. É claro que !{?git a?}
seria suficiente.
!?add
Você não precisa do git
, neste caso, pelo menos. Após o segundo d
você pode apertar o botão de retorno ou tab. Se houver muito histórico entre você e o comando, isso encontrará os três caracteres add
em qualquer ponto no comando, o que pode ser um problema.
expansão do histórico do zsh está detalhada nos documentos em: