man ls tem informações adicionais sobre listas de cores.
Usar o -G flag com ls deve ativar a cor, se o ambiente $ TERM do seu shell estiver configurado para um valor com capacidade de cor.
Para que as listagens de cores sejam o padrão de ls , a variável de ambiente CLICOLOR pode ser definida (para qualquer coisa, até mesmo '') no arquivo de script de login apropriado.
Ou é feito assim:
CLICOLOR=''; export CLICOLOR
ou
setenv CLICOLOR
dependendo de qual shell de login você usa.
Para colorizações interativas do tipo "como você faz" ...
Existem alguns complementos para o shell zsh . Uma pesquisa no google sobre "conclusão de cores zsh" retornará dezenas de artigos sobre como configurar prompts coloridos e preenchimento de arquivos.
Encontrei uma referência a fish , um Friendly Interactive Shell . Eu instalei no meu Mac e parece funcionar como você indicou.
Se which fish der um erro Command not found , você terá que instalá-lo na página oficial de peixes.