
Lessコマンドは、出力の端にある「〜」文字の色を変更する方法です。
下部の「(END)」色はどのように変更されますか?
答え1
LESSは複数の環境変数を使用して、termcapライブラリに基づいて色を制御します。変数のリストは次のとおりです。
export LESS_TERMCAP_mb=$'\E[6m' # begin blinking
export LESS_TERMCAP_md=$'\E[34m' # begin bold
export LESS_TERMCAP_us=$'\E[4;32m' # begin underline
export LESS_TERMCAP_so=$'\E[1;33;41m' # begin standout-mode - info box
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
異なる前景色を設定するには、3xを別の色に変更したり、背景の変更を変更したり、たとえば4xを追加したりできます。質問の「〜」(チルダ文字)の色を赤の前景と緑の背景セットに変更します。
export LESS_TERMCAP_md=$'\E[31;42m'
これらの変数を使用すると、検索パターン、プロンプト、さらにはマニュアルまで色を指定できます(ページャでlessを使用している場合)。
プロンプトなどの他の小さな動作を変更することもできます。次のいずれかを試してください。
export LESS='-iR -j4 --shift 5 -P ?n?f%f .?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t'
それで遊んで楽しく過ごしてください。
注1
新しい groff バージョンの一部のバグのため、次の設定が必要になる場合があります。
export GROFF_NO_SGR=''
色の変更も可能です。
ノート2(基本カラーコード一覧)
Foreground:
30 - black
31 - red
32 - green
33 - yellow
34 - blue
35 - magenta
36 - cyan
37 - white
Background:
40 - black
41 - red
42 - green
43 - yellow
44 - blue
45 - magenta
46 - cyan
47 - white
More about color codes: http://en.wikipedia.org/wiki/ANSI_escape_code
答え2
less
表示機能に微調整を提供せず、太字や反転(または強調表示)などのビデオプロパティを使用することをお勧めします。
~
「twiddle」オプション(「ファイルの最後にチルダを表示」)が設定されている場合にのみ、文字は太字のプロパティで印刷されます。時できる太字のテキストを描画するために使用される端末機能を変更します。 「END」は、目立つ/スタンドエンド端子機能で結ばれています。
どちらの場合も、less
同じ端末機能が異なる理由で使用されます。
less
たとえば、同じ文字を含むセルに文字がある場合は、太字を使用してくださいAbackspaceA。目立つことは、エラーメッセージを強調するために使用されます。
つまり、適切な端末エスケープシーケンスを使用して、次の2つの環境変数を設定することで、太字のテキストの外観を変更できます。
LESS_TERMCAP_md
LESS_TERMCAP_me
これ用語情報(5)マニュアルは、第3列にtermcap名をリストし、「md」と「me」が何を意味するのかについての手がかりを提供します。
enter_bold_mode bold md turn on bold (extra
bright) mode
exit_attribute_mode sgr0 me turn off all
attributes
同様に、StandoutとStandendは次のようになります。
LESS_TERMCAP_so
LESS_TERMCAP_se
この説明に該当します。
enter_standout_mode smso so begin standout mode
exit_standout_mode rmso se exit standout mode
追加資料:
- Less - more の反対の言葉
- マニュアルページの色(一部の回答は正確ではありませんが…)