びぶろく

主に技術系なことをつらつらと。

個人的にとりあえず導入しておきたいzshの設定(for Mac)

個人的に必須なzshの設定のまとめ。

題名に(for Mac)とさせていただいたのは後々記述するlsのGオプションが環境によってはうまく動作しないらしいためです。欲を言えばもっと細かい設定があるけれども、とりあえず汎用的なものをピックアップして記載させていただきます。

その前に前提条件として、zshシェルを採用させてもらいます。デフォルトだとbashの場合があると思うので、

$ echo $SHELL
(1) /bin/zsh
(2) /bin/bash

とやってもらって(1)が出てきた場合はそのまま設定へ、(2)が出てきた場合は

$ chsh -s /bin/zsh

とやったあとターミナルを「再起動後に」シェルがzshに変わります。

続いて本題の設定について。自分のルートに.zshrcを作成してもらい、以下の設定をコピー&参考に必要な箇所を取り入れてください。

#
# シェル上の色などの初期設定(おまじない)
#
autoload -U colors
colors
setopt prompt_subst

#
# 前方(後方)一致検索
#
bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward

#
# cdコマンドの後自動でlsコマンドを実行
#
function cd() { builtin cd $@ && ls; }

#
# lsコマンドのエイリアス設定など
#
alias ls="ls -G"
alias la="ls -aG"
alias ll="ls -lG"
export LSCOLORS=gxfxcxdxbxegedabagacad

#
# 左右プロンプトの表示
#
PROMPT='%{${fg[green]}%}%m[%~]%1(v|%F{yellow}%1v%f|) %{${fg[green]}%}%# %{${reset_color}%}'
RPROMPT="%{${fg[green]}%} %D %*[%h]%{${reset_color}%}"

ここで注意していただきたいのが前述したlsコマンドの色に関するGオプション。これはMacOSX(Darwin系)に使うオプションなので、この設定では逆に他の環境ではうまく動作してくれない模様(他の環境では--colorオプションを使うらしい)。

.zshrcへの記述が終わったら、変更を適用させるために

$ source .zshrc

とやってもらうと、特にターミナルを再起動せずに設定を反映できます。もちろん再起動しても反映できます。

とまぁこんな感じに書かせていただきましたが、シェルの設定は人それぞれだと思うのであくまで参考までに。特に色やプロンプト表示の設定とかは完全に個人の好みだと思うので、色々とためしてみることをオススメします!