O padrão que você deseja não é um regex, é um bash glob e você precisa do -f para informar que está concluindo os arquivos. Além disso, você não deseja default para -o , pois isso adicionará os nomes de arquivos que você acabou de filtrar, ou soltar a opção ou escolher algo diferente (usei dirnames para que também conclua os diretórios). O seguinte deve fazer o trabalho:
complete -f -o dirnames -X '*.@(aux|pdf)' vim
A cotação relevante da página man para o glob usado:
If the extglob shell option is enabled using the shopt builtin, several extended pattern matching operators are recognized. In the following description, a pattern-list is a list of one or more patterns separated by a |. Composite patterns may be formed using one or more of the following sub-patterns:
?(pattern-list) Matches zero or one occurrence of the given patterns *(pattern-list) Matches zero or more occurrences of the given patterns +(pattern-list) Matches one or more occurrences of the given patterns @(pattern-list) Matches one of the given patterns !(pattern-list) Matches anything except one of the given patterns
extglob já deve estar ativado por bash conclusão, mas se não, você também precisa fazer isso.