linux - "cat"和 "vim"之间的不同显示

标签 linux shell vim cat

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

抱歉,我已经google过了,但我还是不知道如何让vim /tmp/test显示与 cat /tmp/test 相同.

你能帮我一下吗?谢谢。

最佳答案

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

要摆脱转义字符,您可以手动删除它们,也可以使用 sed 等工具过滤掉它们 as outlined here .

关于linux - "cat"和 "vim"之间的不同显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18501288/

相关文章:

java - Web 应用程序中的随机 NoClassDefFound 错误

php - Yocto PHP5镜像安装

linux - 使用带有输出日志记录的 shell 自动 telnet

linux - 具有两个变量的动态变量

vim - 在vim中映射<cword>命令时什么时候需要使用expand?

linux - 下载完成后,传输守护程序启动程序

regex - unix/linux 上的 grep : how to replace or capture text?

Vim:配色方案在终端中无法正确显示

Bash - 检查标准输入是否包含任何内容

vim - 使用vimdiff替换整个文件?