出力をモノクロ化しないようにできますか?
たとえば、git diff
からの出力は色付けされていますが、git diff | less
は色付けされていません。
使用する:
git diff --color=always | less -r
--color=always
は、出力が(ttyではなく)パイプであってもgit
にカラーコードを出力するように指示するためのものです。そして-r
は、これらのカラーコードと他のエスケープシーケンスを解釈するようless
に指示するためのものです。使用する -R
ANSIカラーコードのみ。
別のオプションは、色を有効にし、ポケットベルとして「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ページにあります。 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.
Lessには-r
(--raw-control-chars
)オプション、または-R
(ANSIエスケープシーケンスのみ)も使用します。
~/.bashrc
にこのエイリアスがあります
alias rless='less -r'
また、tree
には色を強制するオプションがあります。
tree -C | less -r
ls
についても同様です:
ls -lR --color | less -r
「use less -r
":
環境変数LESS
に値rを使用します(またはrをすでに存在するものに追加します)。
例:.bashrc
:
export LESS=-Xr
Xは停止します 終了時に画面がクリアされなくなります。
誰かがjq
とless
でjsonをページングすることに興味がある場合は、以下を使用して実現できます。
jq -C <jq args> file.json | less -R
例えば.
jq -C . file.json | less -R
ソース: https://github.com/stedolan/jq/issues/764#issuecomment-95355331
これは古く、多くの人がすでに正しい答えを提供していることを知っていますが、less -R
ではなくless -r
ANSIカラーのみが必要な場合-r
文字の表示に問題が発生する場合があります。
マニュアルから:
-r or --raw-control-chars
Causes "raw" control characters to be displayed. The default
is to display control characters using the caret notation; for
example, a control-A (octal 001) is displayed as "^A". Warn‐
ing: when the -r option is used, less cannot keep track of the
actual appearance of the screen (since this depends on how the
screen responds to each type of control character). Thus, var‐
ious display problems may result, such as long lines being
split in the wrong place.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in
"raw" form. Unlike -r, the screen appearance is maintained
correctly in most cases. ANSI "color" escape sequences are
sequences of the form:
ESC [ ... m