我有一个生成的,象这样在他们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来了解这些颜色代码?
谢谢你的帮助。
我有一个生成的,象这样在他们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来了解这些颜色代码?
谢谢你的帮助。
使用查尔斯·坎贝尔(博士芯片)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已经超出基本\033[31m red \033[0m
; 什么是AnsiEsc
,什么是任何程序,做\033[... unrecognized
? 看来, AnsiEsc
刚刚离开这样独自一人,但在不同的Vim和mvim。
更好的文档AnsiEsc
会受到欢迎; 链接到蟒蛇小ANSI转义代码解析器将受到欢迎。
测试用例从GNU LS和grep彩色输出,以TERM xterm-256color
和MacOSX的终端版本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
还看到可爱的bash脚本colors256 。