Zshをはじめたい
まとめ
以下ちょっとだけメモったけど毎回ググりそう。
はじめるのは簡単だけど設定書いても使わないこととか、 設定書き続けない(満足してしまう、不便さになれる)ことが多いんだよな。
育てていきたい。
使うzshはこちら
Yosemiteに最初から入ってるやつ。
console
Nil% zsh --version
zsh 5.0.5 (x86_64-apple-darwin14.0)
Yosemiteでzshをログインシェルとして使う
最初から入っている。
console
$ sudo chsh -s /bin/zsh your_user_name
zsh設定ファイルの書き方
人の便利.zshrcをパクる。
zsh設定ファイルの読み方
人の便利.zshrcをパクるためには人の.zshrcを読まないといけない。
人の便利.zshrcに書かれている内容を理解するためにはマニュアルを読めばよい。
man zshするとオーバービューが見れる。
autoloadなどのビルトイン関数はman zshbuiltinsHISTSIZEなど環境変数はzshparam
zshallに全部入っているので、面倒くさい人はman zshallで見よう。
設定ファイルでよく現れる書き方
環境変数fpath
関数が探索されるパス。 自分で書いた関数定義ファイルなどを突っ込んでおくディレクトリを書く。
autoload
仕組みはzshmiscに載っている。
オプションはzshbuiltinsに載っている。
-Uオプション
指定したファイルをコンパイルする際にaliasを展開しない。
指定したファイル中で意図せずaliasで上書きしたコマンドが使われてしまうのを防げる。
-zオプション
-kと対を成しているオプション。
autoloadでロードする関数をkshスタイルで書く場合は-k、zshスタイルなら-z指定しておく。
console
% cat > hello
func hello() { print hello }
% fpath=(`pwd` $fpath)
% autoload -Uz hello
% hello
% hello
hello
% unfunction hello
% autoload -Uk hello
% hello
hello
% hello
hello
よく読み込まれてるやつ
colors:man zshcontribとか見ると分かる。色定義してくれるやつ。compinit: 補完。zshcompsysに載ってる。