zshをいじってみる

screenの導入とともにzshも使い始めてみました。
もともと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

このブログの人気の投稿

Prusa i3 MK3S用 IKEA Lack エンクロージャー作ったぞ、3Dプリンターの入れる箱というか台だ、力作

Prusa i3 MK3S をBearエクストルーダーへ改造したよ

Fusion360へOS標準以外のフォントの利用方法