ANSI color code が混ざったログファイルを読む際、 less -R <filename>
で文字に色が付きます。
しかし、やっぱり vim の高度な編集機能を使いたい。でも、普通に vim でファイルを開くと ^[[4;36;1mSQL (0.2ms)^[[0m ^[[0;1mSET NAMES 'utf8'^[[0m
のようにカラーコードがそのまま表示されてしまい、超読みづらい…。
いっそ vim で開く時は ANSI color code を消してしまいしょう。以下はその置換コマンドです。
:%s/<1b>\[[0-9;]*m//g
※ <1b> はそのまま入力するのではなく、 <Ctrl+v><ESC> で入力する Escape 制御文字です。
よく使う場合は、 vimrc にコマンドとして追加してしまいましょう。
command! DeleteAnsi %s/<1b>\[[0-9;]*m//g$
これで :DeleteAnsi
をタイプするだけで ANSI color code を削除できます。
良い vim ライフを。
参考
syntax highlighting - Can Vim interpret terminal color escape codes? - Vi and Vim Stack Exchange