LoginSignup
10
13

More than 5 years have passed since last update.

vim で ANSI color codes を除去する

Last updated at Posted at 2017-04-24

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

10
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13