すべてのgitコマンドからカラー出力を取得するには、次のように設定しました。
git config --global color.ui true
ただし、これにより次の出力が生成されますgit diff
。git log
そしてshowのようなコマンドがgit status
良いでしょう
特定のコマンドでエスケープされたカラーコードだけが認識されない理由と回避策は何ですか?
私はxterm-256color
OS X 10.8.2でiTerm 2(ターミナルタイプ)を使用しており、シェルではzshを使用しています。
zsh --version
zsh 5.0.0 (x86_64-apple-darwin12.0.0)
git --version
git version 1.7.9.6 (Apple Git-31.1)
ベストアンサー1
エスケープシーケンスは端末に表示色を変更するように指示し、エスケープ文字はとして表示され、ESC
望ましい動作はエスケープシーケンスが意図した効果を持つことがわかります。
そしてパイプのようなgit diff
コマンドはgit log
出力を携帯用小型無線ポケットベル、less
基本的に。 Gitは制御文字に制御効果を発揮するように指示しようとしますless
が、機能しません。
less
それがあなたのポケットベルですが、LESS
環境変数を-r
orを含まない値に設定した場合、gitは色を表示するように言うことは-R
できません。less
通常は通過しますLESS=-FRSX
が、LESS
環境に設定されている場合は通過しません。回避策は、呼び出し時に色を表示するようにgitに指示する-R
オプションを明示的に渡すことです。less
git config --global core.pager 'less -R'
less
ポケットベルでない場合は、ポケットベルに切り替えるか、less
ポケットベル表示色を作成する方法を学びます。
ポケットベルを呼び出すときにGitが色を表示しないようにするには、代わりcolor.ui
に設定します。auto
true