zshをいじってみる
screenの導入とともにzshも使い始めてみました。
もともとFreeBSDやってたころはtcsh使ってたんでbashはいまいち使いづらかったんです。
ま、いいかとかって使ってましたが、無理に慣れる前に究極のというふれこみでどうせならzshだというわけです。
zshはとりあえずインストール。
ログインシェルに設定
# chsh -s /bin/zsh
設定は~/.zshrcに書き込む
現在のK!の設定、全部コピペだけど
もともとFreeBSDやってたころはtcsh使ってたんでbashはいまいち使いづらかったんです。
ま、いいかとかって使ってましたが、無理に慣れる前に究極のというふれこみでどうせならzshだというわけです。
zshはとりあえずインストール。
ログインシェルに設定
# chsh -s /bin/zsh
設定は~/.zshrcに書き込む
現在のK!の設定、全部コピペだけど
autoload -U compinit
compinit
export LANG=ja_JP.eucJP
setopt auto_pushd
setopt correct
setopt nolistbeep
#コマンドヒストリ
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt hist_ignore_dups # ignore duplication command history list
setopt share_history # share command history data
#プロンプト設定
#http://wiki.fdiary.net/zsh/?PromptCollection
setopt prompt_subst
case $TERM in
emacs|unknown|dumb) # emacsでプロンプトが正しく表示されるようにする
# PROMPT='%n:%l@%m:%~[%h] ' # emacsはRPROMPTの表示に難がある。
PROMPT="%/%% " # emacsはRPROMPTの表示に難がある。
;;
screen|vt100) # screen用
PROMPT='${WINDOW:+"[$WINDOW]"}%{$fg[cyan]%}%#%{$reset_color%} '
RPROMPT='%{$fg[white]%}%~%{$fg[cyan]%}:%{$fg[white]%}%!%{$reset_color%}'
;;
esac
[[ $EMACS = t ]] && unsetopt zle # emacsでプロンプトが正しく表示されるようにするi
if [[ -r /proc/loadavg ]]; then
PROMPT='%{$(load_avg)%}%m%{$reset_color%}'$PROMPT
else
PROMPT='%m'$PROMPT
fi
load_avg() {
set -- $(< /proc/loadavg)
case $1 in
0.*)
echo $fg_no_bold[white]
;;
1.*)
echo $fg_no_bold[yellow]
;;
2.*)
echo $fg_no_bold[magenta]
;;
3.*)
echo $fg_no_bold[red]
;;
5.*)
echo $fg_bold[red]
;;
esac
}
#PROMPT="%/%% "
#PROMPT2="%_%% "
SPROMPT="%r is correct? [n,y,a,e]: "
#screen起動
if [ -z "$STY" ]; then
screen -xR
exit
fi