Parar o zsh de completar os diretórios pai

6

Estou usando o zsh com o zshrc do grml como base. Como parte do meu trabalho, acesso o caminho da rede de forma regular (por exemplo, NFS. AFS.)

Se eu escrever / a / long / network / caminho / on / the / other / side / of / the / world prima TAB duas vezes é dolorosamente lento como zsh começar a procurar em / a / then / a / long / a / long / network etc ...

Ao mesmo tempo, executando ls / a / long / network / caminho / on / o / outro / lado / do / o / mundo retorna em um segundo. Então eu gostaria de dizer ao zsh para parar de me adivinhar. (Se eu escrever / usr / src / linuxx / e, em seguida, pressione tab, descubro que eu queria / usr / src / linux / e isso é legal, no entanto, porque a rede me faz mais mal do que bem). Eu gostaria de completar automaticamente "no final" após a última barra.

Às vezes, estou usando um cd de solução no diretório e uso o preenchimento automático. Certamente deve haver uma maneira melhor.

Como posso conseguir isso?

    
por ttyS0 14.10.2014 / 19:44

1 resposta

5

Esse tipo de comportamento é configurado por meio dos estilos (com exceção de alguns fundamentos que possuem opções). Deseja desativar path-completion .

By default, filename completion examines all components of a path to see if there are completions of that component. For example, /u/b/z can be completed to /usr/bin/zsh. Explicitly setting this style to false inhibits this behaviour for path components up to the / before the cursor

zstyle ':completion:*' path-completion false

Você pode ativar accept-exact-dirs em vez de. Com path-completion restante e accept-exact-dirs ativados, zsh tentará completar apenas os componentes do caminho diferentes do último, se o caminho não existir.

zstyle ':completion:*' accept-exact-dirs true
    
por 15.10.2014 / 01:54