conclusão do histórico oh-my-zsh


45

Recentemente, mudei para o zsh, usando o robbyrussell'soh-my-zsh . Antes disso, eu usava o bash com muitas coisas personalizadas e só faltava uma coisa porque o zsh está tentando ser 'muito inteligente':

Se eu digitar git commite o zsh passar por todos os gitcomandos recentes . O que eu realmente quero é passar por todos os comandos que começam com git commit(não apenas git).

Como posso obter esse comportamento no (oh-my-) zsh?


Estranho, eu uso o OMZSH e ele se comporta assim. Você tem 'plugins = (git)' no seu zshrc?
precisa saber é o seguinte

sim, sim, mas não é apenas para o git, todos os comandos são concluídos dessa maneira.
Patrick Oscity

Respostas:


66

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-backwardquanto

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[Anã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


1
Obrigado, obrigado, obrigado!! Eu ia porcas sobre este
mhenrixon

Para usuários não OMZ como eu: bindkeynão faz nada real, devido a um bug, então a equipe OMZ o corrigiu com este plugin . Basta fazer o download e a fonte antes bindkey.
Franklin Yu

@FranklinYu você percebe que é total bs, certo? esse plug-in não faz nada com o bindkey, exceto USE para capturar alguns eventos.
nonchip

Uau, isso é perfeito!
Esquilo

12

Eu queria o mesmo comportamento para o zsh com o oh-my-zshplugin instalado e encontrado history-substring-search.

Consegui o mesmo comportamento descrito acima adicionando o plugin ao meu ~/.zshrc:

plugins=(git brew npm history-substring-search)

Eu acho que esse plugin não existia quando essa questão foi levantada. Apenas uma maneira alternativa de conseguir a mesma coisa.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.