45

一部のコマンドは、読みやすいようにテキストをカラーで生成します。

私はLinuxを使用しています。たとえば、私が使用している場合rakhg diff 、読みやすくするために出力がカラーになっている場合などです。

ただし、出力をパイプするときless

hg diff | less

色が失われます。

色を保存するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

41

一部のコマンドは、コンソールではなくパイプまたはファイルに書き込んでいることを検出した場合、色を出力しないほど賢いと思います。これは、パイプライン内の次のプログラムによる出力の解析が台無しになる可能性があるためです。

プログラムにそれぞれのフラグ (たとえば--colorその他のもの) を付けて強制的に色を出力させることもできますが、要求を受け入れるかどうかは最終的には実装に依存します。

たとえば、GNU grep 2.27 は、less渡されても色を出力しません--color。しかし、それを に渡し--color=alwaysてパイプするとless、 を通して色のエスケープ コードを見ることができますless。そして、-Rフラグを使用するlessと、色のエスケープ コードが解釈されます。

于 2015-03-23T16:59:04.460 に答える
20

less -rまたは(より安全)を試してくださいless -Rマニュアルを参照してください

おそらく常にそれを指定したくないので:

export LESS=-R # Put that in a startup script like .bashrc.local
hg diff | less

Mercurialの場合は、ポケットベル拡張機能を使用することもできます。

于 2012-11-08T17:09:39.267 に答える