Como posso fazer com que a conclusão do zsh se comporte como a conclusão do Bash?

9

Eu mudei para o zsh, mas não gosto da conclusão. Se eu tiver 20 arquivos, cada um com um prefixo compartilhado, ao pressionar a guia, o zsh completará completamente o primeiro arquivo e, em seguida, continuará percorrendo a lista a cada clique na guia. Se eu quiser um perto do fim, eu teria que pressionar a tecla várias vezes.

No bash, isso era simples - pressione tab e eu pegaria o prefixo. Se eu continuasse digitando (e pressionando a tecla tab), o bash completaria até onde ele pudesse ter certeza. Eu acho esse comportamento muito mais intuitivo, mas prefiro os outros recursos do zsh para o bash.

Existe uma maneira de obter este estilo de conclusão? O Google sugeriu setopt bash_autolist , mas isso não teve efeito para mim (e nenhuma mensagem de erro foi impressa ao iniciar meu shell).

Obrigado.

    
por nsm 02.06.2010 / 22:26

3 respostas

5

Tente:

setopt autolist
unsetopt menucomplete
    
por 03.06.2010 / 01:15
4

O que você quer é provavelmente isso:

setopt noautomenu
    
por 02.12.2011 / 16:20
0

Existe outra opção se você usar a opção "menu select" em .zshrc assim:

autoload -U compinit
compinit
zstyle ':completion:*:*:*:*:*' menu select

Você poderá navegar pelo resultado com as teclas de seta. Vamos dar o seu exemplo com "20 arquivos com um prefixo compartilhado":

  • quando chegar pela primeira vez em [TAB], o zsh será concluído quanto mais puder e, em seguida, exibir uma lista de possibilidades
  • então você pode completar como você teria no bash (digite um caractere extra, goto 0)
  • ou digite novamente [TAB] e, em seguida, você verá as possíveis opções destacadas no menu abaixo do prompt do shell; bônus, você pode navegar nas possibilidades com as teclas de seta

No final, para alcançar a última possibilidade:

  • com o Bash, na melhor das hipóteses, você pressiona [TAB] e depois um caractere extra e depois [TAB] novamente (talvez mais)
  • com Zsh, você pressiona [TAB] e depois [TAB] novamente (para entrar no menu), depois "< -" (tecla de seta esquerda) para alcançar os últimos elementos

Ambos são 3 toques chave neste mesmo caso. O resto é principalmente uma questão de gosto.

    
por 31.12.2015 / 11:46