Vim可以解释终端颜色换码吗?


29

许多CLI程序输出突出显示的文本。尽管其中大多数检查输出是否将发送到文件,但其中一些包含终端转义码。我喜欢带有转义代码的输出,但是在Vim中查看这些文件很痛苦。

Vim可以将这些转义码解释为预期的颜色吗?如果不是,可以将Vim设置为忽略这些转义码吗?

Answers:


28

有多种插件可让您通过转义码查看ANSI颜色:


如果要删除所有转义码,则可以使用:

:%s/<1b>\[[0-9;]*m//g

注:<1b>不是文字文本,它是转义字符,使用Ctrl+ v之后Esc,将其插入(它也可能显示为^[,这取决于你的display设置)。

或者您可以使用sed; 删除它们;例如:

$ sed 's|\x1b\[[;0-9]*m||g' somefile | vi -

0

如果您有一个具有+ terminal功能的足够现代的vim,则可以这样做,:term cat somefile并且您将获得一个缓冲区,其中包含所有解释的终端代码。

在较大的文件上,这可能比例如Colorizer更好,当我在6000行的文件上放开vim时,它会使我的vim变得异常缓慢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.