http://journal.mycom.co.jp/column/zsh/index.htmlにzshの設定や使い方がまとめられていたので、いろいろ使ってみた。非常に便利になるので、ちょっとだけまとめ。
設定ファイル
設定ファイルとしては以下の5つがある。
- ~/.zshenv
- ~/.zprofile
- ~/.zshrc
- ~/.zlogin
- ~/.zlogout
それぞれ、実行されるタイミングが違う。
.zshenvはシェルスクリプトを実行するときも読み込まれるので、注意した方がいいみたい。基本の設定は.zshrcに書けば良さそうです。
参考:http://journal.mycom.co.jp/column/zsh/001/index.html
いろいろ設定
文字コード設定
export LANG=ja_JP.eucJP
シェルから起動されるコマンドやアプリケーションにはシェルで設定された環境変数が引き継がれるので、文字コードも指定しておかないとだめ。
参考:http://journal.mycom.co.jp/column/zsh/002/index.html
プロンプト表示
プロンプト表示を変えてみる。後でこだわるとして、とりあえずコピー。PROMPTは通常、PROMPT2は複数行入力時、SPROMPTは入力ミス確認などに表示される。
PROMPT="%/%% " PROMPT2="%_%% " SPROMPT="%r is correct? [n,y,a,e]: "
コマンド補完強化
「ls -」とかの状態で補完すると、使えるオプションが表示できたりするようになる。configureのときとかでも表示できる。普通に便利。
autoload -U compinit
compinit
コマンド履歴設定
コマンド履歴の設定。保存場所と、保存量を変更。hist_ignore_dupsは同じコマンドを重複して記録しないようにするオプション。share_historyはコマンド履歴ファイルを共有する設定(たぶん今の環境では使わない)。
HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000 setopt hist_ignore_dups setopt share_history
コマンド履歴検索設定
コマンド履歴を検索する時の設定。今までのコマンドから入力した内容と前方一致するコマンドの履歴を辿れる。^pで戻る、^nで進むという感じのキーバインド。不都合が出たら変えよう。
autoload history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey "^P" history-beginning-search-backward-end bindkey "^N" history-beginning-search-forward-end
ちなみに初期設定で^rを押すとインクリメンタルに検索できます。
参考:http://journal.mycom.co.jp/column/zsh/004/index.html
ディレクトリ履歴保存
ディレクトリの履歴を保存してくれて、間違えて違うところに飛んでも戻れるようになる。
setopt auto_pushd
設定後、「cd -」と入力して置換すると、
cd - 0 -- /Users/shibazaki/Downloads 1 -- /Users/shibazaki
のような形で履歴が表示される。この置換を表示させるにはコマンド補完強化の設定をしておかなければいけません。
参考:http://journal.mycom.co.jp/column/zsh/005/index.html
コマンド修正
間違えてコマンド入力しても、修正してくれたりする。タイポしても安心!!
setopt correct