Netscape4 以前のブラウザでは、目次からのジャンプに失敗します。 HTML 3版を参照してください。
HISTSIZE=1000
fignore=('.o' '~')
# 補完を行なうときに無視する接尾辞
# これを指定するとかえって不便なこともある。
PROMPT='%n[%t]%# '
# プロンプト
# %n はログイン名, %t は時刻
RPROMPT='%m:%~'
# 右プロンプト (%~ のような、長さの変わる情報を表示するとき便利)
# %m: ホスト名
# %~: cwd(current working directory)のパス
# %~ だけの方がカット・アンド・ペーストしやすくて便利かも
mailpath=(~/Mail/inbox)
# procmail(1)でメイルを自動仕訳しているときには、こうする
setopt autocd automenu autolist correct nobeep nonomatch setopt listtypes pushdsilent setopt histignoredups setopt notify setopt printexitvalue # オプションの意味はマニュアル(zshoptions(1))を参照のこと
stty -istrip bindkey -m # Meta キーを有効にするための「おまじない」 # stty -istrip は 8ビット・スルーにするという意味(だったか) bindkey -e # emacs ライクなキーバインド
limitargs=(cputime filesize datasize stacksize coredumpsize
resident maxproc descripters)
# limit(1), unlimit(1)の補完候補
printers=(lp ps)
hosts=(localhost 127.0.0.1 akita-u.ac.jp)
urls=(http://www.is.akita-u.ac.jp/ http://www.akita-u.ac.jp/)
compctl -c man jman which # コマンド名を補完候補に
compctl -l '' nice exec screen # cmd arg1 arg2 ... 型の補完
compctl -E printenv setenv
compctl -v -E vared unset # シェル変数、環境変数
compctl -g '*.tex' + tex jtex ptex latex jlatex platex
compctl -g '*.dvi' xdvi dviselect dvips dvi2ps
compctl -g '/var/db/pkg/*(:t)' pkg_info pkg_delete
# /var/db/pkg 下のファイルの basename を補完候補に
compctl -k limitargs limit unlimit
# limit と unlimit の補完候補は $limitargs
compctl -k hosts slogin telnet ftp ncftp ping nslookup traceroute xhost
compctl -f -k hosts rsh ssh
compctl -f -x 's[http://]' -k hosts -k urls -- w3m netscape
compctl -f -x 's[-P]' -k printers -- lpr lpq lprm prn
compctl -x 's[-]' -k signals -- kill
compctl -x 's[if=] , s[of=]' -f -- dd edd
compctl -v -x 's[DISPLAY=]' -k hosts -S ':0' -- export
# export の引数は変数(-v)だが、 DISPLAY= で始まっていると
# ホスト名で補完して、末尾に :0 を付ける
function _folders () { reply=(`folders -recurse -fast`) }
compctl -x 's[+]' -K _folders -- folders folder scan packf
# 補完時にシェルコマンドを呼出す例
alias ls='ls -F' la='ls -a' ll='ls -lg' le='less -e' alias pd=pushd alias j=jobs sw='%-' z=suspend alias his=history las='last -20' alias jman='LANG=ja_JP.EUC /usr/local/bin/jman' alias xemacs='LC_MESSAGE=ja_JP xemacs' alias h=scan s=show n=next p=prev # d=rmm # こういうエイリアスを定義して # MH フォルダの補完もできると # mh はフロントエンド無しで使える alias clear="echo -n '\033(B\033[H\033[J'" # 文字化けを戻すエスケープシーケンスを出力 # しかし役に立ったことはほとんど無い
setenv () { export $1=$2 }
# [t]csh の setenv のエミュレーション
lll () { ls -lg $@ | eval ${PAGER:-more} }
manroff () { nroff -man $* | eval ${PAGER:-more} }
xtitle () { echo -n '^[];'$*'^G' }
# xterm/kterm でタイトルバーの文字列を変更する
umask 002 # FreeBSD のように 1グループ1ユーザにしているところで便利 limit coredumpsize 0 limit maxproc 100 # 40 is default
export EXINIT='set autoindent autowrite showmatch shiftwidth=4
map ; :'
# vi(1)の設定
export BLOCKSIZE=1k
# df(1)の出力の制御
if [ -f /usr/local/bin/jless ]; then
export PAGER=/usr/local/bin/jless JLESSCHARSET=japanese LESS=-e
elif [ -f /usr/local/bin/less ]; then
export PAGER=/usr/local/bin/less JLESSCHARSET=japanese LESS=-e
else
export PAGER=more
fi
export EDITOR=emacsclient
if [ "$UID" = 0 ]; then
export EDITOR=vi
fi
# Several machines forget to register the kterm entry
# to TERMCAP and/or TERMINFO
test "$TERM" = kterm && TERM=xterm
export TEXINPUTS=.:$HOME/tex/inputs: export TAPE=/dev/nrst0 export NNTPSERVER=news export MAILHOST=mailer.is.akita-u.ac.jp
case $OSTYPE in
freebsd*) # FreeBSD
osbin=()
sbin=(/usr/sbin /sbin)
;;
linux*) # Linux
osbin=()
sbin=(/usr/sbin /sbin)
;;
solaris*) # Solaris
osbin=(/usr/ccs/bin /usr/ucb)
sbin=(/usr/sbin /sbin)
;;
hpux*) $ HP-UX
osbin=(/usr/bin/xpg4 /usr/bin /usr/ccs/bin /usr/contrib/bin)
x11bin=(/usr/bin/X11 /usr/contrib/bin/X11)
miscbin=(/usr/local/bin/* /opt/*/bin)
esac
case $HOST in
lambda*) # FreeBSD
miscbin=(/usr/local/bin/MH /usr/local/{jdk1.2.2,jdk1.1.8}/bin)
export PAGER=less
;;
quartet.is.akita-u.ac.jp|octet.is.akita-u.ac.jp) # IPC
miscbin=(/usr/local/bin/* /opt/*/bin)
export PAGER=less
;;
esac
if [ -z "$sbin" ]; then
if [ -d /sbin ]; then
sbin=(/sbin /usr/sbin) # new fashion UNIX
elif [ -d /usr/etc ]; then
sbin=(/usr/etc) # SunOS 4, NeXT
else
sbin=(/etc) # old fashion UNIX
fi
fi
if [ -z "$x11bin" ]; then
if [ -d /usr/bin/X11 ]; then
x11bin=/usr/bin/X11
elif [ -d /usr/local/bin/X11 ]; then
x11bin=/usr/local/bin/X11
elif [ -d /usr/X11R6/bin ]; then
x11bin=/usr/X11R6/bin
fi
fi
path=(~/bin $hostbin /usr/local/bin $x11bin
/usr/ucb /usr/bin /bin
$sbin $miscbin)
# Setting Terminal
eval `tset -s` # 端末設定の決り文句といってよいでしょう。
# カーソル前一文字消去(erase)が、キーボードによって
# BS だったり DEL だったりするので、
# キーボードから入力してもらって、それを erase とする。
echo 'Which is the erase key on your keyboard?'
echo -n 'Type here: '
read -k erase
stty erase $erase
echo ...OK.
# コンソールから Xサーバを起動するのを、 x という 1文字コマンドで
# できるようにする。しかも、セッション終了で自動ログアウトする。
# case文の判定は、 telnet and/or rlogin したときに、ログイン先で
# 誤って X サーバを起動しないための工夫。この手の事故が多いのか、
# XFree86 では、ユーザが xinit を実行するのがえらく面倒になった。
# xdm などを使えと言うことらしい。というわけで、最近は無用の長物。
case `tty` in
/dev/console|/dev/ttyv[0-9])
alias x='xinit >& ~/.CONSOLE;
for i in 3 2 1 clear; do
echo -n ...$i; sleep 1;
done; clear; logout'
esac
.xinitrcはxinitでXサーバを起動したとき.xsessionはxdmでログインしたときに実行される。共通の設定も多いので、僕は、~/.xconfigというファイルに共通の設定を記述している。
結構いい加減かも
#!/bin/sh cd $HOME # xset fp= tcp/lambda.is.akita-u.ac.jp:7100 sh $HOME/.xconfig #xterm -sb -ls -bg black -fg white -geometry 78x12+5-5 -title Console afterstep # -f $HOME/system.steprc #sleep 3 clear
#! /usr/local/bin/zsh -x
# ~/.zshenv の設定を読み込む
#xset fp= tcp/lambda.is.akita-u.ac.jp:7100
sh $HOME/.xconfig
#xterm -sb -ls -bg black -fg white -geometry 78x12+5-5 -title Console
# kinput を起動するなら、ここで
# kinput2 &
# いくつかあるウィンドーマネージャから
# インストール済のものを選択して実行
wmlist=(/usr/X11R6/bin/afterstep
/usr/X11R6/bin/fvwm
/usr/X11R6/bin/twm)
for i in $wmlist
do
if [ -x $i ]; then
WM=$i
break
fi
done
# ssh-agent は、 SSH の RSA 認証で使う
# パスフレーズを記憶してくれる
if [ -x /usr/bin/ssh-agent ]; then
/usr/bin/ssh-agent $WM
elif [ -f /usr/local/bin/ssh-agent ]; then
/usr/local/bin/ssh-agent $WM
else
$WM
fi
#!/bin/sh -x
cd $HOME
# .Xresources のかわりに .Xrdb を読む
if [ -f .Xrdb ] ; then
xrdb .Xrdb
fi
# ビープ音を短くしたり、マウスの加速度を変えたり、
# スクリーンセイバーの働き方を指定したり
xset b 100 440 100
xset m 4 8
xset s blank
xset s 600 10
# キーバインドを変更
xmodmap .xmodmaprc
! ! Xmodmap ! keycode 94 = backslash bar keycode 51 = backslash bar keycode 49 = grave asciitilde keycode 129 = Meta_R keycode 131 = Meta_L
UCB mailの初期設定ファイル。
set append ask autoprint set indentprefix="> " set crt=1 set folder=Mail set hold set pager=less retain bcc cc date from subject to
他にalias(別名)を定義することができ、たとえば
alias tomodachi tomo@ipc.akita-u.ac.jp, dachi@ipc.akita-u.ac.jp
と書いておくと、tomodachi宛のメイルは、tomo@ipc.akita-u.ac.jp, dachi@ipc.akita-u.ac.jpに送られる。~/.mailrcにおけるalias定義は、Emacsのメイル送信でも(自動的に)参照される。
MH(mail handler)のコマンド群が参照する設定ファイル。
Path: Mail Draft-Folder: draft Editor: emacs
電子メイルの自動仕分けコマンドprocmailの設定ファイル
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin MAILDIR=$HOME/Mail DEFAULT=inbox/. LOGFILE=$MAILDIR/mlog :0 * ^From MAILER-DAEMON daemon/. :0: * ^To: report@is.akita-u.ac.jp report/.
:0:は(ロックして)安全に処理する。:0は(ロックせず)高速に処理する。*で始まる行は検索条件。^From:はヘッダのFrom, ^FromはEnvelope From(Unix Fromと呼ばれることもある)のパターンである。ヘッダのFromは書き換え可能なので, Envelope Fromで仕分けをした方がよい。最後の行が/.で終っていれば、MHフォルダとして扱う。/で終っていればMaildirフォルダとして扱う。いずれでもなければUnix Mail形式のフォルダ(1つのファイル)として扱う。
C言語のインデント調整プログラムindentの初期設定ファイル
-bap -nbc -ncdb -nce -ei -lp