Eu acho que você tem algum lugar (talvez em seu ~/.cshrc ) especificado algo como isto:
complete vi 'n/*/f:^*.{o,a,dvi,gz,z,Z,log}/'
Você deve alterá-lo (por exemplo, substituí-lo), por exemplo:
complete vi 'n/*/f:^*.{o,a,dvi,gz,z,Z}/'
Explicação: n significa "Conclusão da próxima palavra", * é um padrão glob para corresponder ao início da palavra na linha de comando, f significa nome do arquivo, ^*.{o,a,dvi,gz,z,Z} significa que o nome do arquivo deve não termine com .o , .a , .dvi , .gz , .z ou .Z .