HomeBrew経由でインストールしたライブラリと、個別にインストールしたライブラリをそれぞれ整理していたところ、zplugの設定はあるものの全く読み込まれてない事に気が付きました。どういうことかというと、以下の1文が長らく欠けていたのです。
zplug load --verbose
ただ、zplugへ追加するプラグインだけは沢山指定がありました。要は全く作用していないのに「便利だな」と思っていた機能がいくつかあったということ。おそらくは別のライブラリによる補完でしょう。
今回これを有効にしたところ、zshが全然別物になりました。現在のMacOSデフォルトシェルはzshです。zplugはzsh生活を快適にしてくれます。作業記録ついてに知らない方向けのレクチャーとしてみました。
セットアップ
HomeBrewで入れます。
brew install zplug
設定する
先ずは即利便性が上がる項目を設定します。
vim ~/.zshrc
.zshrc
に以下の内容を追加しておきます。
export ZPLUG_HOME=/opt/homebrew/opt/zplug
source $ZPLUG_HOME/init.zsh
# Load theme file
zplug 'zplug/zplug', hook-build:'zplug --self-manage'
# 非同期処理できるようになる
zplug "mafredri/zsh-async"
# テーマ(ここは好みで。調べた感じpureが人気)
zplug "sindresorhus/pure"
# 構文のハイライト(https://github.com/zsh-users/zsh-syntax-highlighting)
zplug "zsh-users/zsh-syntax-highlighting"
# コマンド入力途中で上下キー押したときの過去履歴がいい感じに出るようになる
zplug "zsh-users/zsh-history-substring-search"
# 過去に入力したコマンドの履歴が灰色のサジェストで出る
zplug "zsh-users/zsh-autosuggestions"
# 補完強化
zplug "zsh-users/zsh-completions"
# 256色表示にする
zplug "chrissicool/zsh-256color"
# コマンドライン上の文字リテラルの絵文字を emoji 化する
zplug "mrowa44/emojify", as:command
# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo; zplug install
fi
fi
zplug load
シェルを起動させて再読み込みさせます。
% exec $SHELL -l
- mafredri/zsh-async: not installed
- zsh-users/zsh-completions: not installed
- zsh-users/zsh-autosuggestions: not installed
- chrissicool/zsh-256color: not installed
- sindresorhus/pure: not installed
- zplug/zplug: not installed
- mrowa44/emojify: not installed
Install? [y/N]: y
[zplug] Start to install 7 plugins in parallel
✔ Installed! mafredri/zsh-async
✔ Installed! zsh-users/zsh-completions
✔ Installed! zsh-users/zsh-autosuggestions
✔ Installed! chrissicool/zsh-256color
✔ Installed! sindresorhus/pure
✔ Installed! zplug/zplug --> hook-build: success
✔ Installed! mrowa44/emojify
[zplug] Elapsed time: 3.4565 sec.
==> Installation finished successfully!
Load "/opt/homebrew/opt/zplug/repos/zsh-users/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh" (zsh-users/zsh-autosuggestions)
Load "/opt/homebrew/opt/zplug/repos/zsh-users/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh" (zsh-users/zsh-syntax-highlighting)
Load "/opt/homebrew/opt/zplug/repos/zsh-users/zsh-completions/zsh-completions.plugin.zsh" (zsh-users/zsh-completions)
Load "/opt/homebrew/opt/zplug/repos/zsh-users/zsh-history-substring-search/zsh-history-substring-search.plugin.zsh" (zsh-users/zsh-history-substring-search)
Load "/opt/homebrew/opt/zplug/repos/sindresorhus/pure/pure.plugin.zsh" (sindresorhus/pure)
Load "/opt/homebrew/opt/zplug/repos/chrissicool/zsh-256color/zsh-256color.plugin.zsh" (chrissicool/zsh-256color)
Load "/opt/homebrew/opt/zplug/repos/mafredri/zsh-async/async.plugin.zsh" (mafredri/zsh-async)
Link "/opt/homebrew/opt/zplug/repos/mrowa44/emojify/emojify" (mrowa44/emojify)
[zplug] Run compinit
多少ログに違いがあるかもしれません。また、非同期となるため、ログ出力にやや時間差があります。
操作の違い
.zshrcを編集しようとするだけでも差異が分かるはずです。
この状態で右矢印キーを押すと補完がなされます。
あとがき
「言うほど便利なのかな、zplug」と思っていましたが、便利でした。詰めが甘くて完全に動作させていないというケースは時折ありますが、全く動作していないのは衝撃でした。
zsh環境で操作している方で快適な環境がほしい方には先ずおすすめです。