Vim

如何在管道中保留 vimcat 顏色?

  • March 25, 2022

例如,這將保留ls’ 著色/語法突出顯示:

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

但這不會(所以我知道這不是 grep 問題):

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

不使用 vimcat(而是直接呼叫 vim)的替代解決方案是可以接受的,只要輸出沒有分頁。

好吧,這很尷尬!問題只是 sources.list 不是一個可突出顯示的文件。一個不同的文件工作得很好。所以沒關係。:) Ziggoto 的回答仍然很有趣,所以我會留下這個問題而不刪除它。

有一個名為faketty的實用工具可以將您的命令包裝在一個 pty 中,即使您使用重定向(如管道)也是如此。

我相信如果你這樣做,你可能會得到你期望的結果

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

引用自:https://unix.stackexchange.com/questions/696855