人を少なくパイピングするとき、どのように着色を続けますか?

人を少なくパイピングするとき、どのように着色を続けますか?

.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

私はあなたが主流のmanLinuxディストリビューションを使用していると仮定します。man手動でパイプしたため、出力が端末ではない場合、デフォルトではフォーマットは削除されます(他のシステムでもless同様です)。

MAN_KEEP_FORMATTINGnull以外の値に設定してそれをオーバーライドできます。

MAN_KEEP_FORMATTING=1 man zshexpn | less '+/PROCESS SUBSTITUTION'

この動作をデフォルト値に設定するには、MAN_KEEP_FORMATTING他の設定と一緒にエクスポートする必要があります。これはman出力時にすべての呼び出しに影響します。いいえ最終的に端末で処理されます(例えば出力が必要な場合grep)。

おすすめ記事