Isso é definido no script bash_completion
. Às vezes você pode encontrar isso em /etc
e às vezes em /usr/share/bash-completion
.
O meu tem essa linha:
_install_xspec '*.@([ao]|so|so.!(conf|*/*)|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite
Faz exatamente o que você quer.
Eu imagino que sua instalação é muito antiga. Você pode tentar atualizar "bash-completion" ou editar esse arquivo por conta própria.
Como alternativa, você pode ter seu .bashrc
editando a variável _xspecs
manualmente - o bash-completion não fornece uma interface para fazer isso para você.
Edit: Acontece que o OP não estava usando o pacote bash-completion (então apenas usando o preenchimento de nome de arquivo "dumb" embutido). Nesse caso, instalá-lo e seguir as instruções de configuração é suficiente. No Linux, este pacote normalmente é instalado por padrão e nenhuma configuração do usuário é necessária.