出力を非単色に減らすことはできますか?
たとえば、出力はgit diff
色付きですが、そうでgit diff | less
はありません。
答え1
使用:
git diff --color=always | less -r
--color=always
git
出力がパイプ(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.ui
git-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