Vim
如何在管道中保留 vimcat 顏色?
例如,這將保留
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|$)"