AnsiEsc works with basic ANSI color codes, but not other codes.
The problem is that 
there are lots of ANSI_escape_code s
beyond the basic \033[31m red \033[0m;
what is AnsiEsc, what is any program, to do with \033[... unrecognized ?
It seems that AnsiEsc just leaves such alone, but differently in Vim and mvim.
Better doc on AnsiEsc would be welcome;
links to a small ANSI escape code parser in python would be welcome.
A test case for colored output from gnu ls and grep, with TERM xterm-256color
and macosx Terminal version 2.3:
#!/bin/bash
# test https://en.wikipedia.org/wiki/ANSI_escape_code#Colors from gnu ls and grep
mkdir bluedir  2> /dev/null
ls -d --color=always  bluedir  > ls.out
echo red-hot | grep --color=always  red  > grep.out
od -c ls.out
# 0000000  033   [   0   m 033   [   3   4   m   b   l   u   e   d   i   r
# 0000020  033   [   0   m  \n                                            
# Vim 7.3 :AnsiEsc "bluedir" blue, \033[0m as is
# mvim 8.0 :AnsiEsc "bluedir" works
od -c grep.out
# 0000000  033   [   0   1   ;   3   1   m 033   [   K   r   e   d 033   [
# 0000020    m 033   [   K   -   h   o   t  \n                            
# both Vim and mvim display as is
See also the lovely bash script colors256 .