如何保留管道中的 vimcat 颜色?

如何保留管道中的 vimcat 颜色?

例如,这将保留ls的颜色/语法突出显示:

ls -la --color=always | egrep --color=always -i "(foobar|$)"

但这不会(所以我知道这不是 grep 问题):

vimcat /etc/apt/sources.list | egrep --color=always -i "(foobar|$)"

只要输出不分页,不使用 vimcat(而是直接调用 vim)的替代解决方案也是可以接受的。

答案1

有一个实用工具叫假装即使您使用重定向(如管道),它也会将您的命令包装在 pty 中。

我相信如果你这样做,你可能会得到你期望的结果

faketty vimcat /etc/apt/sources.list | egrep --color=always -i "(foobar|$)"

答案2

嗯,这很尴尬!问题很简单,sources.list 不是一个可突出显示的文件;另一个文件工作得很好。所以没关系。 :) Ziggoto 的回答仍然很有趣,所以我将保留这个问题而不删除它。

相关内容