少ないカラー出力を保存できますか?

少ないカラー出力を保存できますか?

出力を非単色に減らすことはできますか?

たとえば、出力はgit diff色付きですが、そうでgit diff | lessはありません。

答え1

使用:

git diff --color=always | less -r

--color=alwaysgit出力がパイプ(ttyではない)であっても、出力カラーコードがわかりますか?これらのカラーコードと他のエスケープシーケンスを解釈する-rことは可能ですか? ANSIカラーコードlessにのみ適用されます。-R

答え2

別のオプションは、色を有効にしてポケットベルとして「less -r」を使用することです。

git config --global color.ui true
git config --global core.pager 'less -r'

これにより

[color]
    ui = true
[core]
    pager = less -r

~/.gitconfigから

詳細については、次を参照してください。プロのGitブック

可能な値はcolor.uigit-configのマニュアルページにあります。の出力はman git-config | grep "color.ui$" -A8次のとおりです。

color.ui
    This variable determines the default value for variables such as color.diff and
    color.grep that control the use of color per command family. Its scope will expand as
    more commands learn configuration to set a default for the --color option. Set it to
    false or never if you prefer Git commands not to use color unless enabled explicitly
    with some other configuration or the --color option. Set it to always if you want all
    output not intended for machine consumption to use color, to true or auto (this is the
    default since Git 1.8.4) if you want such output to use color when written to the
    terminal.

答え3

lessまたはalso(ANSIエスケープシーケンスのみ)には-r()オプションを使用します。--raw-control-chars-R

エイリアスがあります。~/.bashrc

alias rless='less -r'

答え4

tree色を強制するオプションもあります:

tree -C | less -r

ls:

ls -lR --color | less -r

関連情報