hns - 日記自動生成システム - Version 2.19.9

先月 2009年06月 来月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2009年06月19日(金) 旧暦 [n年日記] [更新:"2009/06/19 11:19:23"]

#1 [SHELL] zsh の入力待を tcsh と同じに

( zsh の本 を読んでいる訳だが、使って見るために移行出来る 最低限の設定をして見ている)

それで、 いまは tcsh を使っている。入力待は、次のような ものを使っていて、現ディレクトリの最後の二つ素要だけを表示する ようにしている。

ttyp0:makoto@modena 9:38:57/090619(...gcc/src)> pwd
/export/nn/gcc/src
これに使っている設定は次のようなもの。hilit や esc の設定は一時的な変数で、 この際 関係ないが、一応そのまま示して見る。
  set hilit = '';
  set esc   = '%{\033[0m%}'
  set esc   = '';

  set prompt = "$hilit%l:%n@%m $hilit$esc%P/%y%W%D($hilit%.02$hilit$esc)%# "
  set ellipsis
zsh を使うとして、出来れば(殆んど)同じものにしたい。それで ~/.zshrc に 次のようにだけ書いて見た (これは全文、 $' ...' は不要かと思うが行きがかり上残っている)。
PROMPT=$'%6(~|[%~]\n|)%y:%n@%m %P%D{%H:%M:%S/%y%m%d}%% '
RPROMPT=$'%6(~||[%~])'
autoload -U compinit
compinit
bindkey -e
これで次のようになる。
ttyp8:makoto@genova 09:43:13/090619%         [/export/nn/gcc/src]
ただ、この「最後の二つの要素だけを表示する」のがどうするのか まだ分っていない。%2/ かな
PROMPT=$'%y:%n@%m %P%D{%H:%M:%S/%y%m%d}(%3(~|..%2d|%~))%% '
autoload -U compinit
compinit
bindkey -e
これで以前と全く同じになった気がする。
  1. %~ が 3 以上の時には ..%2d
  2. %~ が 2 以下の時には %~
ただし最後の文字は > を % に変更している。これで tcsh/zsh の区別が出来る。

foreach:

実は tcsh で foreach を操作行で良く使っている。これが出来るか確認
ttyp8:makoto@genova 10:38:03/090619(~)% foreach i ( `seq 1 4`)
foreach> echo $i
foreach> end
1
2
3
4
ttyp8:makoto@genova 10:38:23/090619(~)% 
tcsh の場合:
ttyp0:makoto@modena 10:39:31/090619(~)> foreach i ( `seq 1 4`)
foreach? echo $i
foreach? end
1
2
3
4
ttyp0:makoto@modena 10:39:40/090619(~)> 

alias:

tcsh の場合に、次のように書いてあるが、
alias   lslt     'ls -lt \!* | head -23'
bash で \!* の展開をしてくれないのと zsh は同じらしい。そこで、~/.zshrc に次の一行を追加
function lslt () { /bin/ls -lt $1 | head -23 }



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)