AnsiEsc
opere con i codici di base di colori ANSI, ma non altri codici. Il problema è che ci sono lotti di ANSI_escape_code s oltre il numero di base \033[31m red \033[0m
; cos'è AnsiEsc
, che cosa è un qualsiasi programma da fare con \033[... unrecognized
? Sembra che AnsiEsc
lasci solo questo, ma in modo diverso in Vim e mvim.
Un documento migliore su AnsiEsc
sarebbe il benvenuto; I collegamenti a un piccolo parser ANSI di codice di escape in python sarebbero i benvenuti.
Un banco di prova per l'uscita colorata da GNU ls e grep, con TERM xterm-256color
e MacOSX Terminal versione 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
Vedi anche la bella script bash colors256.
Possibile duplicazione cross-site di: http://superuser.com/questions/358409/how-can-i-tell-vim-to-show-ansi-escape-codes-properly –