Ao usar a conclusão da guia zsh, Ignore o CDPATH se um arquivo ou diretório local corresponder

4

Eu adoro a conclusão da tabulação do Z shell com o CDPATH, mas às vezes é um exagero. Eu gostaria que ele apenas retroceda como um retorno se nada no diretório local corresponder.

Por exemplo, eu estava apenas em ~/Code/Haxe e digitei

$ cd h<tab>

sabendo que o único diretório lá começando com h foi haxe.org . Em vez de preencher o nome do diretório, recebi um monte de coisas começando com h do meu CDPATH. Por outro lado, eu não gostaria de viver sem ele, já que (junto com AUTO_CD) eu posso chegar a esse diretório (ou incontáveis outros) simplesmente digitando Haxe . Eu uso isso o tempo todo , mas eu gostaria de fazer um backseat para mudar para diretórios locais.

Não encontrei nenhuma pergunta que lide com esse problema. Este lida com a exibição de conclusões sugeridas, mas não é isso que eu me importo sobre. Eu quero simplesmente ignorar tudo do CDPATH quando um diretório local corresponde perfeitamente.

    
por iconoclast 20.12.2014 / 01:51

1 resposta

3

Não há nenhuma configuração zstyle para isso. O que você pode fazer é tentar a conclusão com um cdpath vazio e, se isso falhar, tente com cdpath .

_cd_try_without_cdpath () {
  CDPATH= _cd "$@" || _cd "$@"
}
compdef _cd_try_without_cdpath cd pushd
    
por 21.12.2014 / 00:30