ANSI颜色在VIM代码(ANSI Color Codes in VIM)

2019-06-24 11:02发布

我有一个生成的,象这样在他们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来了解这些颜色代码?

谢谢你的帮助。

Answer 1:

使用查尔斯·坎贝尔(博士芯片)AnsiEsc插件:

http://www.vim.org/scripts/script.php?script_id=302

之前:

:AnsiEsc<CR>



Answer 2:

我不知道vim的,但如果你只是查看日志文件(即你不需要能够编辑),你可以使用较少的:

less -R


Answer 3:

由于在接受答案的链接似乎没有奏效,我发现这个链接: https://github.com/vim-scripts/AnsiEsc.vim



Answer 4:

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 。



文章来源: ANSI Color Codes in VIM