AnsiEsc可以处理基本的ANSI颜色代码,但不能处理其他代码。问题是除了基本的\033[31m red \033[0m之外还有很多ANSI_escape_code;什么是AnsiEsc,任何程序都与\033[... unrecognized有什么关系?看起来AnsiEsc只是让这样的东西单独存在,但在Vim和mvim中不同。 AnsiEsc上更好的文档将受到欢迎;一个小的ANSI转义代码解析器在python中的链接将是受欢迎的。 gnu ls和grep的彩色输出测试用例,使用TERM xterm-256color和macosx Terminal版本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
4条答案
按热度按时间zmeyuzjn1#
我不太确定vim,但如果你只是查看日志文件(即你不需要能够编辑),你可以使用更少:
agxfikkp2#
使用Charles坎贝尔(Dr Chip)的AnsiEsc插件:
http://www.vim.org/scripts/script.php?script_id=302
之前:
:AnsiEsc<CR>
gwo2fgha3#
由于接受的答案中的链接似乎不起作用,我找到了这个链接:https://github.com/vim-scripts/AnsiEsc.vim
j2datikz4#
AnsiEsc
可以处理基本的ANSI颜色代码,但不能处理其他代码。问题是除了基本的\033[31m red \033[0m
之外还有很多ANSI_escape_code;什么是AnsiEsc
,任何程序都与\033[... unrecognized
有什么关系?看起来AnsiEsc
只是让这样的东西单独存在,但在Vim和mvim中不同。AnsiEsc
上更好的文档将受到欢迎;一个小的ANSI转义代码解析器在python中的链接将是受欢迎的。gnu ls和grep的彩色输出测试用例,使用
TERM xterm-256color
和macosx Terminal版本2.3:另请参见可爱的bash脚本colors256。