Jonathan Wheeler Asked: 2022-03-26 11:50:59 +0800 CST2022-03-26 11:50:59 +0800 CST 2022-03-26 11:50:59 +0800 CST 如何在管道中保留 vimcat 颜色? 772 例如,这将保留ls' 着色/语法突出显示: ls -la --color=always | egrep --color=always -i "(foobar|$)" 但这不会(所以我知道这不是 grep 问题): vimcat /etc/apt/sources.list | egrep --color=always -i "(foobar|$)" 不使用 vimcat(而是直接调用 vim)的替代解决方案是可以接受的,只要输出没有分页。 vim pipe 2 个回答 Voted Ziggoto 2022-03-26T12:08:51+08:002022-03-26T12:08:51+08:00 有一个名为faketty的实用工具可以将您的命令包装在一个 pty 中,即使您使用重定向(如管道)也是如此。 我相信如果你这样做,你可能会得到你期望的结果 faketty vimcat /etc/apt/sources.list | egrep --color=always -i "(foobar|$)" Best Answer Jonathan Wheeler 2022-03-26T12:16:33+08:002022-03-26T12:16:33+08:00 好吧,这很尴尬!问题只是 sources.list 不是一个可突出显示的文件。一个不同的文件工作得很好。所以没关系。:) Ziggoto 的回答仍然很有趣,所以我会留下这个问题而不删除它。
有一个名为faketty的实用工具可以将您的命令包装在一个 pty 中,即使您使用重定向(如管道)也是如此。
我相信如果你这样做,你可能会得到你期望的结果
好吧,这很尴尬!问题只是 sources.list 不是一个可突出显示的文件。一个不同的文件工作得很好。所以没关系。:) Ziggoto 的回答仍然很有趣,所以我会留下这个问题而不删除它。