Ubuntu/Cygwin上でlessコマンドの色を付ける・変更する



スポンサードリンク

less コマンドで色を付ける

less でシンタックスハイライトできます。cygwin などでは標準機能です。

GNU source-highlight のインストール

yumの場合(Fedora系)

$ yum install source-highlight

aptの場合(Ubuntu系)

$ sudo apt install source-highlight

apt-cygの場合(Cygwin系)

$ apt-cyg install source-highlight

色付けを反映する

色シーケンスを解釈させるようlessに-Rオプションを追加する必要があります。

shell> export LESS='-R'
shell> export LESSOPEN='| /usr/share/source-highlight/src-hilite-lesspipe.sh %s'

今後はデフォルトで色がつくように「~/.bashrc」に次のように記載しましょう。

$ emacs -nw ~/.bashrc

次を追加します

export LESS='-R'
export LESSOPEN='| /usr/share/source-highlight/src-hilite-lesspipe.sh %s'

追加後、保存してください。

$ source ~/.bashrc → 有効化

なお、「export LESS='-R'」を設定する際に、幾つか追加しておけば便利そうなオプションを記載しておきます。

オプション 内容
R ANSI Color Escape Sequenceを色表示する
S 1行が画面に入りきらない場合に折り返しません
N ファイルの行番号を表示します
i ドキュメント内検索する時に検索ワードに大文字が入ってない限り大文字小文字を区別しません
M 自分が見てる行数やそのパーセンテージや開いてるファイル名を表示します

色を変更する

lsの色を変更する

デフォルトの色では、背景黒のターミナル上ではディレクトリ名が青で文字が読みにくいです。

例:ファイル名はデフォルト(00),ディレクトリ名は強調(01)したシアン(36),シンボリックリンクは強調(01)した青(34)

export LS_COLORS="no=00:fi=00:di=01;36:ln=01;34"

less の色を変更する

直接「 /usr/share/source-highlight/esc.style 」を変更してしまえば対応可能です。

この中に function black b; という項目があります。

これは「関数名を黒のボールドで表示せよ」という指定になるのですが、通常の端末は背景が黒であるため見えません。

(修正前) function black b;
(修正後) function yellow b;

その他、背景が黒に青字も見えないので、変更したい場合は次のようになります。

(修正前) keyword blue b ;
(修正後) keyword pink b ;

スポンサードリンク