memo.xight.org

zsh

2007-02-15 Thu

zshでヒストリ補完とヒストリのインクリメンタルサーチ

- Summary

ヒストリ補完 (backward) Ctrl+P
ヒストリ補完 (forward) Ctrl+N
ヒストリのインクリメンタルサーチ Ctrl+R

bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward
bindkey '^R' history-incremental-search-backward


- Reference
cooldaemonの備忘録 - bindkey -v で bck-i-search を使う
http://d.hatena.ne.jp/cooldaemon/20060925/1159156394

cooldaemonの備忘録 - 設定ファイルさらし
http://d.hatena.ne.jp/cooldaemon/20060206/1139200968

2006-01-19 Thu

zsh + screen で端末に表示されてる文字列を補完する

- Summary
.zshrc に以下を記述.(2nd lifeより)
Ctrl + o で端末上の文字列を補完可能.

# dabbrev
HARDCOPYFILE=$HOME/tmp/screen-hardcopy
touch $HARDCOPYFILE

dabbrev-complete () {
	local reply lines=80 # 80行分
	screen -X eval "hardcopy -h $HARDCOPYFILE"
	reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines))
	compadd - "${reply[@]%[*/=@|]}"
}

zle -C dabbrev-complete menu-complete dabbrev-complete
bindkey '^o' dabbrev-complete
bindkey '^o^_' reverse-menu-complete


- Reference
2nd life - zsh + screen で端末に表示されてる文字列を補完する
http://d.hatena.ne.jp/secondlife/20060108/1136650653

2006-01-16 Mon

.zshrc のコンパイル

- Summary
zsh のシェルスクリプトは zcompile コマンドでコンパイルすることが可能.

- .zshrc から .zshrc.zwc ファイルの生成

zcompile .zshrc


- 注意
同一ディレクトリに .zwc ファイルがある場合 zsh は .zshrc.zwc を実行する.
.zshrc を変更するたびに,zcompile を実行する必要がある.

- Reference
zshのある暮らし - FAQ@zshスレ - 設定ファイルの読み込みが遅い
http://hiki.ex-machina.jp/zsh/?FAQ%40zsh%A5%B9%A5%EC#l16

2004-08-12 Thu

補完関数の表示を過剰にする

- 補完にファイル名だけでなくコマンドラインオプションも追加する

autoload -U compinit
compinit


- .zshrcに以下を追加

zstyle ':completion:*' verbose yes
zstyle ':completion:*:descriptions' format '%B%d%b'
zstyle ':completion:*:messages' format '%d'
zstyle ':completion:*:warnings' format 'No matches for: %d'
zstyle ':completion:*' group-name ''


- Reference
  zsh補完変数の書き方
  http://www.ayu.ics.keio.ac.jp/members/mukai/tips/zshoption.html

2004-08-12 Thu

.zshrc

- 書く順番
  基本設定
  環境変数
  非端末プロセスなら終了
  プロンプト
  シェル変数
  エイリアス
  キーバインド
  補完ルール
- 非端末プロセスなら終了

[ $#PROMPT -eq 0 -o $#TERM -eq 0 ] && return

- Reference
  紹介マニアMoinMoin - Zshrc
  http://sakito.s2.xrea.com/moin/moin.cgi/Zshrc

2003-10-22 Wed

tcshからの移行

- 環境変数 (`='の前後はスペースを入れてはいけない)

csh zsh
環境変数の設定 setenv EDITOR vim export EDITOR=vim
環境変数の設定解除 unsetenv EDITOR unset EDITOR
変数の代入 set a=b a=b
抜ける exit return
- alias関係
csh zsh
組み込み関数を用いる場合 alias cd 'cd \!*; echo $cwd' function cd() { builtin cd "$@"; echo $PWD; }
コマンドを実行する場合 alias rm 'mv \!* $HOME/.recycle' function rm() { command mv "$@" $HOME/.recycle }
- 分岐 (if)
  csh :

if (EXPR) then
	...
else if (EXPR)
	...
else
	...
endif



  zsh :

if [[ EXPR ]]; then
	...
elif [[ EXPR ]]; then
	...
else
	...
fi


- 条件で実行
  csh : if (EXPR) CMD
  zsh : [[ EXPR ]] && CMD
  csh : if (!EXPR) CMD
  zsh : [[ EXPR ]] || CMD
- 分岐 (switch,case)
  csh :

switch (VAL)
	case "PAT1":
		...
		breaksw
	case "PAT2":
		...
		breaksw
	default:
		...
endsw



  zsh :

case VAL {
	PAT1)
		...
	PAT2)
		...
}


- ループ (while)
  csh :

while (EXPR)
	...
end



  zsh :

while (EXPR) {
	...
}


- foreach
  変更無し

- Reference
  How to convert cshrc files to zshrc files
  http://www.gentei.org/~yuuji/rec/pc/README.zsh-j.html
  Z-Shell Frequently-Asked Questions (Japanese)
  http://dengaku.org/~naoki/zsh/FAQ-J/zshfaq02-j.html
  ドットファイルの例
  http://www.is.akita-u.ac.jp/~sig/dots/dot-files.html

2003-09-25 Thu

zsh 関連

- 各シェル比較表
  http://www2u.biglobe.ne.jp/~hsaka/docs/shell.html
- Introduction of the ZSH
  http://www.gentei.org/~yuuji/rec/pc/intro-zsh.html
- zshのある暮らし
  http://hiki.ex-machina.jp/zsh/
- zsh for the working researcher
  http://cl.aist-nara.ac.jp/student/daiti-m/text/zsh-intro.html
- Spreading Zsh Project - Z shell(zsh) へ乗り換えよう
  http://www.sol.cs.ritsumei.ac.jp/~sawaki/comp/zsh/
- tips for zsh -- zshの覚書
  http://www.ayu.ics.keio.ac.jp/members/mukai/tips/zsh.html
- Zsh ドキュメント和訳
  http://dengaku.org/naoki/zsh/
- Reference
  Sourceforge - Zsh
  http://zsh.sourceforge.net/