ANSIカラーコードを含むログファイルを生成するスクリプトがあります。
[2012-05-14 18:00:02] ^[[0mINF: -- Starting update script --^[[0m
[2012-05-14 18:00:29] ^[[91mERR: Improper date, entry being ignored.^[[0m
Vimにこれらのカラーコードを理解させる方法はありますか?
助けてくれてありがとう。
Charles Campbell(Dr Chip)AnsiEscプラグインを使用します。
http://www.vim.org/scripts/script.php?script_id=302
前:
:AnsiEsc<CR>
Vimについてはわかりませんが、ログファイルを表示しているだけの場合(つまり、編集する必要がない場合)、以下を使用できます。
less -R
承認された回答のリンクが機能していないように見えるため、次のリンクを見つけました: https://github.com/vim-scripts/AnsiEsc.vim
AnsiEsc
は、基本的なANSIカラーコードで機能しますが、他のコードでは機能しません。問題は ANSI_escape_code のlotsが基本的な\033[31m red \033[0m
を超えていることです。 AnsiEsc
とは何ですか、\033[... unrecognized
を使用するためのプログラムは何ですか? AnsiEsc
はそれをそのままにしているようですが、Vimとmvimでは異なります。
AnsiEsc
に関するより良いドキュメントを歓迎します。 python=の小さなANSIエスケープコードパーサーへのリンクは歓迎されます。
TERM xterm-256color
およびmacosxターミナルバージョン2.3を使用したgnu lsおよびgrepからのカラー出力のテストケース:
#!/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
素敵なbashスクリプト colors256 も参照してください。