.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 を次のように使用する場合:man zshexpn
クールな色のセクションがあります。
man ページの同じ部分で man を次のように使用すると、man zshexpn | less '+/PROCESS SUBSTITUTION'
色は指定されなくなります。
最初のケースと同様に、2番目のケースでもカラー出力を取得するにはどうすればよいですか?
答え1
私はあなたが主流のman
Linuxディストリビューションを使用していると仮定します。man
手動でパイプしたため、出力が端末ではない場合、デフォルトではフォーマットは削除されます(他のシステムでもless
同様です)。
MAN_KEEP_FORMATTING
null以外の値に設定してそれをオーバーライドできます。
MAN_KEEP_FORMATTING=1 man zshexpn | less '+/PROCESS SUBSTITUTION'
この動作をデフォルト値に設定するには、MAN_KEEP_FORMATTING
他の設定と一緒にエクスポートする必要があります。これはman
出力時にすべての呼び出しに影響します。いいえ最終的に端末で処理されます(例えば出力が必要な場合grep
)。
答え2
パイプを介してless
追加のオプションを渡すのではなく、LESS
これらの追加オプションを変数に渡します。
LESS="$LESS +/PROCESS SUBSTITUTION" man zshexpn