Parar conclusão da tabulação sugerindo 'messagebus'

2

Eu tenho um diretório chamado build , que eu cd em um pouco.

Se não houver nenhum diretório bu* no diretório atual, zsh conclusão da tabulação: cd bu TAB sugere messagebus/ , que não está em . . Se eu aceitar essa conclusão, acabo em /private/var/empty .

Não tenho certeza de qual zsh opção sugere essa conclusão, mas adoraria desativá-la. Alguma idéia de qual configuração faz isso?

Por que vale a pena, isso é em OS X . No ubuntu , recebo as sugestões libuuid messagebus com configurações zsh idênticas.

    
por simont 02.10.2012 / 11:25

1 resposta

1

/private/var/empty é provavelmente o diretório inicial do usuário messagebus . zsh oferece expansão de diretórios base quando recebe um argumento para a função cd que ele acha que se parece com um nome de usuário. No seu caso, bu é expandido para messagebus pelo comparador aproximado, porque nenhum outro matcher específico será acionado em um diretório vazio (no sistema Linux, uuid e messagebus são retornados como possíveis correspondências aproximadas para a string bu ).

É possível informar zsh quais usuários devem considerar para expansão nessas circunstâncias, colocando algo assim em ~/.zshrc :

zstyle ':completion:*' users user1 user2 root

Basta listar todos os usuários que você deseja que o shell considere, source ~/.zshrc para selecionar as alterações e você não deve mais obter messagebus etc como conclusões possíveis.

    
por 03.12.2012 / 13:14