zsh導入と3日間触れてみた感想
ネットを見ていると、zshいいよbashなんかより全然使いやすいよ!という意見を多数見かけたので、まああまり変わらないだろと思いつつ、私も使ってみましたので、感想と導入方法と私の設定を書きたいと思います。
前提環境
ubuntu16.04
sudoが使える
設定
とりあえず、設定をザクザクしていきましょう。
$vim ~/.zshrc
ホームディレクトリに.zshrcを作成し、下の設定を貼り付けてください。
export LANG=ja_JP.UTF-8 export EDITOR=vim setopt print_eight_bit setopt interactive_comments bindkey -e bindkey "^R" history-incremental-search-backward autoload -U compinit; compinit bindkey "^[[Z" reverse-menu-complete zstyle ':completion:*' ignore-parents parent pwd .. setopt auto_menu setopt extended_glob HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000 setopt hist_ignore_dups setopt share_history DEFAULT=$"%{\e[0;0m%}" RESET="%{${reset_color}%}" GREEN="%{${fg[green]}%}" BLUE="%{${fg[blue]}%}" RED="%{${fg[red]}%}" CYAN="%{${fg[cyan]}%}" YELLOW="%{${fg[yellow]}%}" MAGENTA="%{${fg[magenta]}%}" WHITE="%{${fg[white]}%}" autoload -Uz colors; colors export LSCOLORS=Exfxcxdxbxegedabagacad export LS_COLORS='di=01;34:ln=01;35:so=01;32:ex=01;31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30' export ZLS_COLORS=$LS_COLORS export CLICOLOR=true zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} autoload colors colors PROMPT="%{$fg[green]%}%m%(!.#.$) %{$reset_color%}" PROMPT2="%{$fg[green]%}%_> %{$reset_color%}" SPROMPT="%{$fg[red]%}correct: %R -> %r [nyae]? %{$reset_color%}" RPROMPT="%{$fg[cyan]%}[%~]%{$reset_color%}" autoload -Uz add-zsh-hook autoload -Uz vcs_info zstyle ':vcs_info:*' enable git svn hg bzr zstyle ':vcs_info:*' formats '[%s: %b]' zstyle ':vcs_info:*' actionformats '[%s: %b|%a]' zstyle ':vcs_info:(svn|bzr):*' branchformat '%b:r%r' zstyle ':vcs_info:bzr:*' use-simple true autoload -Uz is-at-least if is-at-least 4.3.10; then zstyle ':vcs_info:git:*' check-for-changes true zstyle ':vcs_info:git:*' stagedstr "+" zstyle ':vcs_info:git:*' unstagedstr "-" zstyle ':vcs_info:git:*' formats '[%s: %b] %c%u' zstyle ':vcs_info:git:*' actionformats '[%s: %b|%a] %c%u' fi function _update_vcs_info_msg() { psvar=() LANG=en_US.UTF-8 vcs_info [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_" } add-zsh-hook precmd _update_vcs_info_msg
とりあえず使ってみる
とりあえず、
apt
と入力してtabを押してみてください。
なんか、いっぱい出てきますw
これがzshの入力補完の強さらしいです。
わからなくなるととりあえずtabを押すと候補がいっぱい出てくるのでやりやすいそうです。
ついでに、リポジトリの中に入るとこうなります。
右にブランチ名が出てきます。
ログインシェルをzshに設定
$chsh
上記のコマンドを実行するとログインシェルを設定できますのでそこに、
/usr/bin/zsh
と入力してエンターキーを押してください。
そして、一回ログアウトしてログインすると、端末を立ち上げるとzshで立ち上がっているはずです。
感想
補完機能がbashに比べてすごく強くなった気がします。
bashだと2回tabを押さないと候補が出てこないのにzshだったら一回押すだけで出てくるし、少し作業が楽になった気がします(気がしているだけ)ただ、気持ち補完機能は強くなったのかなって感じました。
あとは、gitのbranch名を出せるのが地味にありがたいと感じました。
とりあえず3日使ってみてbashだったらこうなのにという不自由は感じませんでした。
bashでも同じことを頑張ったらできそうというツッコミはしないとして、まだしばらくzshを使っていこうと思います。
まだあまり使っていないからかもしれないですがとりあえず便利そうなのでこのまましばらく使ってみたいと思います。
また、おすすめの設定などがあればコメントでおしえていただければ嬉しいです。