5. tcsh の設定をいじる

 
5.1 これは tcsh の話なのです
5.2 ls の表示色

5.1 これは tcsh の話なのです

 これは tcsh の話なのです。  unix を扱うときに、csh 系で覚えてしまったもので。また FreeBSD のデフォルトシェルが tcsh なもので、わたしは tcsh がなじんでいるのですが。  これから、シェルに慣れていく人。とくにシェルスクリプトを使う予定のある人であれば、シェルを覚えるならば、bash 系をお勧めします。  シェルスクリプトの基本は /bin/sh であり、bash はその派生になるので、シェルスクリプト記述のために覚えていくならば、bash で慣れておく方が後々便利だからです。  ここは、どうしても tcsh から離れられない人がカスタマイズするためのヒントとして使ってください。

5.2 ls の表示色

 ls でカラー表示させると、直感的にディレクトリかフォルダかがわかるので、色付けしたいってのが人情です。  ls をカラー表示させる最低条件は、以下の2つのみです。
・端末がカラー対応であって、環境変数にそういう定義をしてあること
・特に ls に alias をきっていないのであれば、ls に -G オプションをつけること
 別の箇所にも書いてありますが、環境変数の端末定義を設定するには ~/.cshrc を以下のように編集します。
if ($?prompt) then

        ~ 略 ~

        setenv TERM kterm-color
endif
 TERM は、端末の型を定義する環境変数で、kterm は、X-Window の標準端末 xterm を漢字対応にしたもの。  -color がつくとカラー表示対応という意味になります。  ~/.cshrcalias を定義している箇所の ls の最上位の上の行に
alias ls        ls -G
 と定義しておけば、ls がデフォルトでカラー表示となります。  だがしかし、Tera Term でわたしは背景色を黒としているので

 いささか見にくいのだ。
 で、せめてディレクトリ表示を太文字にしたいのです。
 ここでマニュアルを読むと、特に定義していない限り、表示色の定義は「exfxcxdxbxegedabagacad」であり、1つのシンボルを2つの記号で前景色・背景色で定義してあって
 色の定義が

a
b
c
d
e
fマゼンタ
gシアン
h明るい灰
A太字の黒で、通常暗い灰に見えます
B太字の赤
C太字の緑
D太字の茶で、通常黄色に見えます
E太字の青
F太字のマゼンタ
G太字のシアン
H太字の明い灰で、明い白に見えます
xデフォルトの前景色と背景色
 属性の順番が
1ディレクトリ
2シンボリックリンク
3ソケット
4パイプ
5実行形式
6ブロックスペシャル
7キャラクタスペシャル
8setuid ビットが設定された実行形式
9setgid ビットが設定された実行形式
10他者 (others) が書き込み可能なディレクトリであり、スティッキビット付き。
11他者 (others) が書き込み可能なディレクトリであり、スティッキビット無し。
 とのことなので  ~/.cshrc に1行追加します。
if ($?prompt) then

        ~ 略 ~
        
        setenv LSCOLORS Exfxcxdxbxegedabagacad 
        setenv TERM kterm-color
endif
 でまあ、ほぼ予定通り。