bashからzshに移行してみる
概要
今回は、bashからzshに移行をしてみようと思います。 会社の先輩がzshを使っていて「なんて使いやすそうなターミナルなんだ」と思ったのがきっかけです。 自分の好きなようにターミナルをカスタマイズできるのが魅力的ですね。 いざやっていきましょう。
環境
High Sierra 10.13.4 HomeBrewをインストール済み
zshのインストール
まずは、zshをインストールを始めます。 Macの場合は、デフォルトで入っているはずですが、今回は別途インストールを行います。 brewでインストールします。
$ brew install zsh
$ zsh --version
zsh 5.6.2 (x86_64-apple-darwin17.7.0)
続いて、zshrc(設定ファイル)を記述していきます。 今回は、2行表示させたいと思います。 一行目は、現在のディレクトリの位置とブランチ名 二行目は、コマンド入力するところです。 以下のような感じです。
[~/programming/hoge](git)-[ブランチ名]
>>> こまんど
zshrcは以下のような感じです。
PROMPT="%{${fg[magenta]}%}>>> %{${reset_color}%}"
[ -f ~/.zshrc.local ] && source ~/.zshrc.local
[ -f ~/enhancd/init.sh ] && source ~/enhancd/init.sh
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
function gi() { curl -L -s https://www.gitignore.io/api/$@ ;}
export PATH=$PATH:"/usr/local/bin:$PATH"
export PATH=$PATH:/Users/msk6252/Library/Android/sdk/platform-tools
export PATH=$PATH:/usr/local/Cellar/openssl/1.0.2l/bin:/Users/msk6252/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Postgres.app/Contents/Versions/latest/bin:/Users/msk6252/Libra
ry/Android/sdk/platform-tools
export PATH="$HOME/.pyenv/shims:$PATH"
alias nowb='git rev-parse --abbrev-ref HEAD'
alias pull='git pull origin `nowb`'
alias allpull='git pull'
alias fetch='git fetch --prune'
alias tree="pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'"
eval "$(rbenv init -)"
export XDG_CONFIG_HOME="$HOME/.config"
export LANG=ja_JP.UTF-8
autoload -Uz colors
colors
autoload -Uz compinit
compinit
zstyle ':completion:*:default' menu select=2
autoload -Uz vcs_info
autoload -Uz add-zsh-hook
setopt prompt_subst
zsytle ':vcs_info:*' formats '%F{green}(%b %c%u)%f'
zsytle ':vcs_info:*' actionformats '%F{red}(%b|%a)%f'
zsytle ':vcs_info:git:*' check-for-chnages true
zsytle ':vcs_info:git:*' stagedstr "%F{yellow}!"
zsytle ':vcs_info:*' unstagedstr '%F{red}+'
function _update_vcs_info_msg() {
LANG=en_US.UTF-8 vcs_info
PROMPT="%{$fg[green]%}[%~]%{${reset_color}%}${vcs_info_msg_0_}
%{${fg[magenta]}%}>>> %{${reset_color}%}"
}
add-zsh-hook precmd _update_vcs_info_msg
まだまだ改善点はあるもののとりあえずはこれで使ってみようと思います。