Zsh
當管道人減少時,我怎樣才能保持著色?
我的
.zshrc
文件中有這個export MANLESS="" export LESS="--RAW-CONTROL-CHARS" export LESS_TERMCAP_mb=$(tput bold; tput setaf 5) export LESS_TERMCAP_md=$(tput bold; tput setaf 1) export LESS_TERMCAP_so=$(tput setaf 1; tput setab 3) export LESS_TERMCAP_se=$(tput rmso; tput sgr0) export LESS_TERMCAP_us=$(tput setaf 3) export LESS_TERMCAP_ue=$(tput sgr0)
當我使用 man as:
man zshexpn
時,我有很好的彩色部分:當我使用 man as:
man zshexpn | less '+/PROCESS SUBSTITUTION'
時,在手冊頁的同一部分,它不再是彩色的:如何在第二種情況下獲得彩色輸出,與第一種情況相同?
我假設您使用
man
的是主流 Linux 發行版。man
如果輸出不是終端,則那裡(和其他系統上)預設刪除格式;因為你手動管道到less
,這就是這裡發生的事情。您可以通過設置
MAN_KEEP_FORMATTING
為非空值來覆蓋它:MAN_KEEP_FORMATTING=1 man zshexpn | less '+/PROCESS SUBSTITUTION'
如果您希望此行為成為預設行為,
MAN_KEEP_FORMATTING
請與您的其他設置一起導出。
而不是通過額外的選項進行管道傳遞,而是在變數
less
中傳遞這些額外的選項。LESS
LESS="$LESS +/PROCESS SUBSTITUTION" man zshexpn