129
146

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

zshを使ってみる

Last updated at Posted at 2016-03-26

ゴール

こうなる
image.png

zsh?

そもそもシェルとは

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

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

zshはbashより優秀と聞いた

  • コマンドオプションの補完
  • 端末間の履歴共有

導入

環境

macOS Catalina

※macOS Catalinaからデフォルトシェルがzshに変更された

1. zshのインストール

$ /bin/zsh --version # デフォルトで入っているzshのバージョン
$ brew info zsh # Homebrewでインストールできるzshのバージョン

# Homebrewで入れる
$ brew install zsh

# 補完を強力にしてくれてるプラグインも
$ brew install zsh-completions zsh-autosuggestions zsh-syntax-highlighting

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

# 現在のログインシェルを確認
$ echo $SHELL

Homebrewでインストールしたzshをシェル一覧に登録する
sudo vi /etc/shellsで以下を追記

/usr/local/bin/zsh # which zsh で場所を確認しておく
# ログインシェル変更
$ chsh -s /usr/local/bin/zsh

3. 設定ファイルの作成

vi ~/.zshrcで設定ファイルを作成して以下を記述
※設定ファイルは他にも.zprofileなどもあるが、.zshrcへの記述がいいという記事が多いので

# 環境変数
export LANG=ja_JP.UTF-8
export LSCOLORS=gxfxcxdxbxegedabagacad

# ヒストリの設定
HISTFILE=~/.zsh_history
HISTSIZE=30000
SAVEHIST=30000
# 直前のコマンドの重複を削除
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 ''

# プラグインを有効化
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

# コマンドのスペルを訂正
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='%T %~ %F{magenta}$%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

4. 設定反映

source ~/.zshrcで設定を反映させて
完成!
image.png

使ってみて良かったこと

コマンドオプションの補完がいい
あれ、あのオプションなんだったっけって時にすぐ確認できる

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

参考

たいへん参考になりました
ありがとうございます

補足

129
146
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
129
146

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?