Edited at

zshを使ってみる

More than 3 years have passed since last update.


理由

何も考えずデフォルトのbashを使ってた

zshの方が優秀らしい


  • コマンドオプションの補完

  • 端末間の履歴共有

そもそもシェルって


シェル (shell) はオペレーティングシステム (OS) のユーザーのためにインタフェースを提供するソフトウェアであり、カーネルのサービスへのアクセスを提供する。

「シェル」フリー百科事典 ウィキペディア日本語版



導入


環境

Mac OS X El Capitan


1. zshのインストール

デフォルトで入っているzshのバージョンを確認

/bin/zsh --version

Homebrewでインストールできるzshのバージョンを確認

brew info zsh

Homebrewでインストール

brew install --without-etcdir zsh

--without-etcdirは無くてもいいかも

補完を強力にしてくれてるzsh-completionsも

brew install zsh-completions


2. ログインシェルをzshにする

現在のログインシェルを確認

dscl localhost -read Local/Default/Users/$USER UserShell

こっちの方が簡単だ

echo $SHELL

Homebrewでインストールしたzshをシェル一覧に登録

sudo vi /etc/shellsで以下を追記

/usr/local/bin/zsh

ログインシェルの変更

chsh -s /usr/local/bin/zsh


3. 設定ファイルの作成

vi ~/.zshrcで設定ファイルを作成して以下を記述

※設定ファイルは他にも.zprofileなどもあるが、.zshrcへの記述がいいという記事が多いので

# 環境変数

export LANG=ja_JP.UTF-8

# ヒストリの設定
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
# 直前のコマンドの重複を削除
setopt hist_ignore_dups
# 同じコマンドをヒストリに残さない
setopt hist_ignore_all_dups
# 同時に起動したzshの間でヒストリを共有
setopt share_history

# 補完機能を有効にする
autoload -Uz compinit
compinit -u
if [ -e /usr/local/share/zsh-completions ]; then
fpath=(/usr/local/share/zsh-completions $fpath)
fi
# 補完で小文字でも大文字にマッチさせる
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
# 補完候補を詰めて表示
setopt list_packed
# 補完候補一覧をカラー表示
zstyle ':completion:*' list-colors ''

# コマンドのスペルを訂正
setopt correct
# ビープ音を鳴らさない
setopt no_beep

# prompt
autoload -Uz vcs_info
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{magenta}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{yellow}+"
zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f"
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd() { vcs_info }
PROMPT='%m:%F{green}%~%f %n %F{yellow}$%f '
RPROMPT='${vcs_info_msg_0_}'

# alias
alias ls='ls -aF'
alias ll='ls -l'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias cat='cat -n'
alias less='less -NM'
export CLICOLOR=1
export LSCOLORS=DxGxcxdxCxegedabagacad

bashの設定をそのまま反映させたいなら

cat ~/.bash_profile >> ~/.zshrc

source ~/.zshrcで設定の適用

.zshrcの設定については追って勉強します


4. Terminalの再起動

できた!


使ってみて良かったこと

コマンドオプションの補完がいい

あれ、あのオプションなんだったっけって時にすぐ確認できる

導入の過程で設定ファイルに関しても色々と勉強になった


try

iTerm2を使ってみようかな


参考

たいへん参考になりました

ありがとうございます

漢のzsh

Homebrewでzsh導入&oh-my-zsh初期設定まとめ

とりあえずZshを使えば良いんだろう?