I use echo -e
to color my scripts output, it works fine when using standard output.
But when I redirect the output to a file, vim doesn
Redirecting to a file creates that file with all the characters in the input -- including the color escapes. This is actually correct behaviour, and vim is showing you the right thing when it shows these special characters to you.
It seems that perhaps what you're looking for is syntax highlighting. Vim comes with the ability to understand and colorize many different types of text.
Try making sure you have the filetype
option correctly set for whatever type of script you're using. Once you get it, you can get vim to set it automatically with the au
command. Check out :help filetype
for more info.
It is usually a bad idea to add any ANSI escape characters to your output if that output is meant to be processed by another program.
Because it is a text editor, it is reasonable to expect Vim to display the content of the file as it is, with the escape characters, rather than as you want it to look.
So no, there's nothing to fix, here. On Vim's side, anyway.
Use either the AnsiEsc Plugin by Dr. Chip or my Colorizer plugin. Both should be able to color those Terminal Escape sequences.