bem, isso não demorou muito, eu deveria ter suspeitado desde o começo. zsh executa o GNU ls, enquanto o bash executa o padrão mac osx ls. daí a diferença de comportamento. Eu não sei por que ou como zsh escolhe gnu ls e como colocar o gnu ls lá para começar, mas eu não me importo. alias 'ls' para 'ls --color' em zsh e eu tenho meu colorido ls novamente. yay! embora as cores sejam um pouco diferentes.