Isto é para a conclusão:
The shell variable fignore can be set to a list of suffixes to be ignored by completion.
O exemplo a seguir irá ignorar todos os arquivos * .pyc * .o * .bak e * ~.
% set fignore = (.pyc .o .bak \~)
Para o 'ls' você pode usar o argumento --ignore, melhor dentro de um alias.
% alias ls 'ls --color --ignore="*.pyc"'