ANSI转义序列中的vim和颜色:如何在vim中显示与cat命令显示的颜色相同的颜色


8

这是我正在做的事情:我正在像这样通过Php颜色进行回显:

外壳颜色

php创建包含ANSI转义序列的输出,当通过我的终端上的外壳显示文本时,该文本将为文本着色。您可以在此处找到php类和说明。

但是,如果我将输出发送到文件中,并尝试使用vim读取它,它不是“彩色的”,那么我只能看到特殊字符。有没有办法像显示在外壳中那样显示颜色?


如果您可以提及如何以及使用什么程序创建带有彩色文本的文件,以及以后如何尝试显示它,可能会有所帮助。
约翰·格鲁伯

对不起,如果我不够精确。引用我的问题:我正在通过 Php回应。即“ php -f filename”,我在这里使用此类进行回应:if-not-true-then-false.com/2010/…–
Olivier Pons

Answers:


8

如果将文件内容按原样发送到终端,而无需进行任何修改,则终端输出将为彩色。但是,vim和其他一些编辑器将转义文本中的元字符,而可能会添加其他一些颜色代码来突出显示语法,因此这是行不通的。

尝试使用将文件转储到终端cat,这应该可以工作。某些简单的编辑器或寻呼机也less可能起作用。

编辑: 我还没有找到让vim“通过”所有转义代码的方法,但是我找到了这个答案该答案链接到此 vim脚本,该脚本解析转义代码并使用vim语法突出显示来重新创建颜色代码。在输出中。根据它的描述,它应该完全满足您的要求(但我尚未对其进行测试)。


有没有办法用vim做到这一点(=精确逃跑)?
奥利维尔·庞斯

@OlivierPons看到我的编辑
Philipp

它不能减少工作量,但是可以处理更多工作:cat〜/ myfile.txt | 更多
wranvaud,

这种脚本的作品。这是一个vimball,因此要安装它,将其压缩在某个地方,然后在vim':source ansi.vba'中。它可以处理很多转义,但不能全部解决-另一个解决方案是“较少-R文件名”。
matiu

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.