"cat"和"vim"之间的不同表演



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相同的内容。

你能帮我一把吗?谢谢

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

要去掉转义符,可以手动删除它们,也可以使用sed之类的工具将它们过滤掉,如下所示。

要查看生成的输出(如shell中所示),您可能需要使用AnsiEsc插件。在用这样的转义码打开文件后,应该运行:AnsiEsc,它将被高亮显示。

最新更新