descargar - Códigos de color ANSI en VIM
vim descargar (4)
Tengo una secuencia de comandos que genera un archivo de registro con códigos de color ANSI en ellos de esta manera:
[2012-05-14 18:00:02] ^[[0mINF: -- Starting update script --^[[0m
[2012-05-14 18:00:29] ^[[91mERR: Improper date, entry being ignored.^[[0m
¿Hay alguna manera de hacer que Vim entienda estos códigos de color?
Gracias por cualquier ayuda.
Como el enlace en la respuesta aceptada no parece funcionar, encontré este enlace: https://github.com/vim-scripts/AnsiEsc.vim
No estoy seguro de vim, pero si solo está viendo un archivo de registro (es decir, no necesita poder editar) podría usar menos:
less -R
Utilice el complemento AnsiEsc de Charles Campbell (Dr Chip):
http://www.vim.org/scripts/script.php?script_id=302
Antes de:
:AnsiEsc<CR>
AnsiEsc
funciona con códigos de color ANSI básicos, pero no con otros códigos. El problema es que hay muchos ANSI_escape_code más allá de los básicos /033[31m red /033[0m
; qué es AnsiEsc
, qué es cualquier programa, para hacer con /033[... unrecognized
¿ /033[... unrecognized
? Parece que AnsiEsc
simplemente se va solo, pero de manera diferente en Vim y mvim.
Un mejor documento sobre AnsiEsc
sería bienvenido; los enlaces a un pequeño analizador de código de escape ANSI en python serían bienvenidos.
Un caso de prueba para salida coloreada de gnu ls y grep, con TERM xterm-256color
y macosx Terminal versión 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
Véase también la encantadora bash script colors256 .