Como posso dizer ao Vim para mostrar os códigos de escape ANSI corretamente?


16

Estou tentando visualizar e editar um arquivo no Vim, mas esse arquivo possui códigos de escape ANSI:

^[[1m[0.05s elapsed, 00:00:13 total]^[[0m

Como posso dizer ao Vim para interpretá-los corretamente, em vez de apenas mostrar o código bruto?


2
O que significa "interpretar corretamente"?
Wallyk 17/11

Relacionado: unix.stackexchange.com/questions/7695/… (não burro porque ele quer o Vim como pager)
Ciro Santilli

@wallyk: Significa que quero ver cores e efeitos, não códigos brutos.
22614 Nathan Fellman

Veja a resposta em vi.stackexchange.com/a/20496/3324 : “Se você possui um vim suficientemente moderno que possui o recurso de terminal +, pode fazê :term cat somefile-lo e obterá um buffer com todos os códigos de terminal interpretados. Este trabalho seria melhor em arquivos grandes do que por exemplo Colorizer, que fez o meu vim bastante lento quando eu deixá-lo solto em um arquivo 6000-line “.
sideshowbarker

Respostas:


15

Parece que você deseja exibir cores ANSI e ocultar seus caracteres de escape. Você pode fazer isso com o plug-in " AnsiEsc " de Charles Campbell .

Observe que você precisará do Vim versão 7.3 ou mais recente. (As versões mais antigas do Vim poderiam ser corrigidas, mas é mais trabalho para uma versão desatualizada do Vim.)


Isso funciona, se o arquivo estiver em um buffer. No entanto, isso não funciona muito bem se você estiver executando um comando como rake ou pepino que coloque a saída do comando em um buffer.
Ivan

Isso está correto, mas o solicitante mencionou o ANSI especificamente em um arquivo aberto no Vim.
Heptite
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.