新規作成  編集  差分  FrontPage  ページ一覧  検索  更新履歴  編集履歴  RSS  管理

(tcsh)プロンプト

右側にもプロンプトを出す

空いている場所を有効活用する.

設定

シェル変数rpromptを設定します.rpromptの書式はpromptと同じです.例えば,カレントディレクトリを常に表示させたい場合は,~/.cshrcに以下のような設定を追加します.

追加しても書き直しても、右ではなくはじめにあった % のすぐ右下に出てしまいます。

set rprompt="[%~]"

色を付けるのもよいでしょう.

set rprompt="[%{\e[33m%}%~%{\e[m%}]"

プロンプトを2行にする

set prompt='%{\033[32m%n@%m\033[00m%} %{\033[33m%~\033[00m%}     \n[%h]% '

下のような感じになります。

hYYjXX@esut000 ~
[000]%

ただし,(tcshでは)右側プロンプト(rprompt)と共存はできません.

\nが改行を表しているので、3行とかもできます。

プロンプトに色を付ける

設定

.cshrc内の以下の部分を変更する

変更前

set prompt='[%n@%m %c]% '

変更後

set prompt='[%{\e[31m%}%n@%m %c%{\e[00m%}]% '

変更したものを有効にする。

% source ~/.cshrc

これで赤く表示される。31の部分を変えると色が変わる。

30
ブラック(黒)
31
レッド(赤)
32
グリーン(緑)
33
イエロー(黄)
34
ブルー(青)
35
マゼンタ(紫)
36
シアン(水色)
37
ホワイト(白)
38
オレンジ (橙)

ぜひやってみてください。

おまけ

プロンプトの%n %m %c は他にも表示が出来る。

%c
カレントディレクトリの最後のディレクトリ名。
%m
マシン名
%n
自分のアカウント名(もしくは %USER )
%/
現在ユーザーが作業しているディレクトリ
%#
スーパーユーザー(root)ならば「#」、一般ユーザーならば「>」を表示
%t
am/pm 表記による、時:分:秒の表示
%T
24時間表記による、時:分:秒の表示
%!
ヒストリ番号を表示(もしくは \!、 %h)

例 [%n@%m %c]を[%n@%m %t]とする

[hYYjXX@esut000 4:01pm]

となる。

また、表示方法も変更することができる。

%S
反転表示開始 (%s で終了)
%B
太字(bold)表示開始(%b で終了)
%U
下線(アンダーライン)表示開始(%u で終了)

例 下のように、はさめばよい。

[%B%n@%m %c%b]

これで、太字に表示する。

更に、[ ]内に[%n@%m %c]を[%n@%m %c %t]という風に追加してもよい。(いろいろやると、逆に作業しにくくなるかも...

プロンプトの色表示は実は下のようなものになってます。

[属性;文字の色;背景の色

したがって

set prompt='[%{\e[07;30;45m%}%n@%m %c%{\e[00m%}]% '

すると属性が 反転 文字の色 黒 背景 紫

で画面には背景黒 文字紫のプロンプトになっているはずです。

属性、背景は以下に示します。

背景の色

30
ブラック(黒)
31
レッド(赤)
32
グリーン(緑)
33
イエロー(黄)
34
ブルー(青)
35
マゼンタ(紫)
36
シアン(水色)
37
ホワイト(白)

属性

00
なし
01
ボールド(明るくする)
02
取消線を付ける
04
アンダースコア(下線を付ける)
05
ブリンク(点滅する)
07
リバース(反転表示する)
08
非表示

顔文字なんかも表示できます。

[ ]内に\(\-\_\-\;をいれる。

例えば

'[%n@%m\(\-\_\-\; %c]% '

とすると

[hYYjXX@esut000(-_-; ~]%

となります。

顔が変わる

ディレクトリ移動成功で(^o^; コマンド失敗で(T_T;なります。 (LOGIN後、何かコマンドを実行して、失敗したら泣き、それ以降どこかにcdするまで ずっと泣きっぱなしです。)

set prompt='[%{\e[30m%}%n@%m\(\-\_\-\; %c%{\e[00m%}]% '

の上に以下を追加

alias cwdcmd 'if ( ! $status ) set prompt = "[%{\e[30m%}%n@%m\(\^\o\^\; %c%{\e[00m%}]%" '
alias precmd 'if ( $status ) set prompt = "[%{\e[30m%}%n@%m\(\T\_\T\; %c%{\e[00m%}]%" '

よくある顔以外 O'REILLYのSMILEYSに書いているアメリカ産のこんな顔もあります。(顔を横向けにしないと良くわからない)でも、何か楽しくなるかも...

最も一般的なスマイリー
:-)
ハッピーでないスマイリー
:-(
ウィンクするスマイリー
;-)
困った顔スマイリー
%-(
びっくり顔スマイリー
:-O
冷めた顔スマイリー
:-|
エルビス・プレスリー
5:-)

是非やってみてください。

タイトルバーを変更する

.cshrc内を以下のように変更する。

 set prompt='%{\e]2;kterm: [%n@%m %c]\a\e]1;%.\a%}[%{\e[30m%}%n@%m  %c%{\e[00m%}]% '

タイトルには `kterm: カレントディレクトリ' と表示されます。

更新日時:2009/10/11 09:58:20
キーワード:
参照:[tcsh] [ls]