How to grep with filename highlighted in one color, and the match highlighted in another color?
Pipe your grep through awk, then have awk color the fields.

Example:

grep -i "stuff" * | awk -F: '{ printf "\033[1;31m" $1 " \033[0m"; for(i=2;i&lt;=NF;i++){out=out":"$i}; print out}'