zsh designador de evento auto-complete

1

(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 ?

    
por simont 19.02.2012 / 04:44

2 respostas

1

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.

    
por 06.04.2012 / 20:52
0

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.

A

expansão do histórico do zsh está detalhada nos documentos em:

link

    
por 22.03.2016 / 13:15

Tags