Macのシェル環境を整えてみた(zsh拡張編)


はじめに...

この記事はMacのシェル環境を整えてみた(導入編)の続きとなります。
この記事では以下の新シェル環境の構築を引き続き行います。
▼ 新シェル環境

OS: MacOS Mojava
ターミナルアプリ: iterm2
シェル: zsh
zsh用プラグインマネージャー: zplug

zsh用プラグインマネージャー(zplug)のインストール

zshで利用するプラグインを効率よく管理するためzplugをインストールします。
zsh用のプラグインマネージャーはoh-my-zsh, preztoなどありますが、今回はzplugを採用しました。
zplugの起動は他のプラグインマネージャーと比べて起動が遅いとの記事がありますが、
基本的に開発中はめったにターミナルアプリごと終了させることがにないので気にしないことにしました。
(差があるっていっても0.0うん秒程度だしね。)

また、zplugからoh-my-zsh、prezto本体をインストールすることもできますし、一部だけをインストールさせることも可能です。
ただし、oh-my-zsh、preztoをそのままインストールすると起動が重くなるので、あくまで必要だと思うものだけをインストールしましょう。

インストール方法

まず、zsh同様HomeBrew経由でzplugをインストールします。
brew install zplugでOKです。
インストールしたzplug/usr/local/opt/zplugにインストールされます。
上記パスの情報をもとにユーザーディレクトリ(/Users/"ユーザー名")直下の.zshrcの一番上の行に追記する。
/Users/"ユーザー名"/.zshrc のファイルがなければtouch .zshrcで作成してください。

# zplug setting
export ZPLUG_HOME=/usr/local/opt/zplug
source $ZPLUG_HOME/init.zsh

ターミナルアプリの再起動をすることでzplugコマンドの実行ができると思います。
zplug --versionなどを実行してみてください。

あとは.zshrcに以下の形でインストールしたいプラグインを記載していきます。
zplug "プラグイン名"
例として zplug "zsh-users/zsh-autosuggestions"を記載してみてください。
上記プラグインは入力補完機能を追加してくれるプラグインです。
あとはzplug installzplug loadを実行することでまだ未インストールであるプラグインを対象にインストールを実行してくれます。
都度 install → load を実行するのはめんどくさいと思うので/Users/"ユーザー名"/.zshrcの末端行に以下の内容を記載してください。

if ! zplug check --verbose; then
  printf "Install? [y/N]: "
  if read -q; then
    echo; zplug install
  fi
fi
# zplugのプラグイン読み込み
zplug load

未インストールのプラグインがある場合は問いかけをしてくれるのでyを入力してインストールを実行してください。

あとは、各々インストールしたいプラグインを随時.zshrcに記載してもらうことで好きなプラグインをインストールすることができます。

最後に...

参考までに今回自分がインストールしたプラグイン一覧を貼ります。

zplug "zsh-users/zsh-syntax-highlighting", defer:2
zplug "zsh-users/zsh-autosuggestions"
zplug "zsh-users/zsh-completions"
zplug "zsh-users/zsh-history-substring-search"
# oh-my-zsh または fish-shellコマンドのaliasの自動登録
zplug "djui/alias-tips"
# コマンドライン上に絵文字を表示する
zplug "mrowa44/emojify", as:command

# 以下はpreztoのtheme、プラグインを使いたい場合のみ記載する
zplug "sorin-ionescu/prezto", \
  use:"init.zsh", \
  hook-build:"ln -s $ZPLUG_HOME/repos/sorin-ionescu/prezto ~/.zprezto"
zstyle ':prezto:*:*' color 'yes'
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'utility' \
  'completion' \
  'git' \
  'python' \
  'fasd' \
  'tmux' \
  'prompt'
zstyle ':prezto:module:prompt' theme 'sorin'

良いシェル環境を!!👍
(´-`).。oO(次は良さげなターミナルアプリでも探そうかしら...)

参考資料

zshフレームワークの起動速度&設定の楽さ比較!