0

cat /tmp/test

>> cat /tmp/test
Hello World
Hello World
Hello World
Hello World

vim /tmp/test

>> vim /tmp/test
==>
1 ^[[1;31mHello World^[[0m
2 ^[[2;32mHello World^[[0m
3 ^[[5;33mHello World^[[0m
4 ^[[6;34mHello World^[[0m

对不起,我已经谷歌了,但我仍然不知道如何让vim /tmp/test显示相同cat /tmp/test

你能帮我一把吗?谢谢。

4

2 回答 2

4

如果你问为什么 Vim 中每行的开头和结尾都出现“垃圾”字符,而 cat 却没有,原因可能是它们正在格式化 shell 用来为文本着色的转义序列。由于 cat 将其输出直接发送到 shell,转义序列被解释为格式化命令,产生彩色文本。Vim 不是为使用这些格式序列而设计的,所以它只是将它们显示为文本的一部分。

要摆脱转义字符,您可以手动删除它们,或者您可以使用 sed 之类的工具将它们过滤掉,如此处所述

于 2013-08-29T02:44:14.840 回答
0

要查看生成的输出,就像在 shell 中显示的那样,您可能需要使用AnsiEsc插件。使用此类转义码打开文件后,您应该运行:AnsiEsc它,它将突出显示。

于 2013-08-29T15:03:33.447 回答