[☆4840] 快適、zplugでzshプラグイン管理

2021/12/25に公開

はじめに

採用理由は、Oh My Zshより軽く、shell開くときにストレスが無くなるためです。

zplugを使って、.zshrcファイルを共有するだけで、SHELL環境を再現性を持って構築できる状態を目指します。

ただ、Oh My Zshの方が機能は豊富です。
zplugが必要十分な機能はあるのでzplug推しです。

https://github.com/zplug/zplug

手順

公式に従います。

1. zplugのインストール

brew install zplug

2. .zshrcの追加

zshの設定ファイルである、.zshrcをtouchコマンドで作成します。

Iterm
touch ~/.zshrc
vim ~/.zshrc

.zshrcコマンドに設定を追加。
↓公式より引用しています。pluginをお好みにあわせて調整してみてください。

.zshrc
source ~/.zplug/init.zsh

# Make sure to use double quotes
zplug "zsh-users/zsh-history-substring-search"

# Use the package as a command
# And accept glob patterns (e.g., brace, wildcard, ...)
zplug "Jxck/dotfiles", as:command, use:"bin/{histuniq,color}"

# Can manage everything e.g., other person's zshrc
zplug "tcnksm/docker-alias", use:zshrc

# Disable updates using the "frozen" tag
zplug "k4rthik/git-cal", as:command, frozen:1

# Grab binaries from GitHub Releases
# and rename with the "rename-to:" tag
zplug "junegunn/fzf-bin", \
    from:gh-r, \
    as:command, \
    rename-to:fzf, \
    use:"*darwin*amd64*"

# Supports oh-my-zsh plugins and the like
zplug "plugins/git",   from:oh-my-zsh

# Also prezto
zplug "modules/prompt", from:prezto

# Load if "if" tag returns true
zplug "lib/clipboard", from:oh-my-zsh, if:"[[ $OSTYPE == *darwin* ]]"

# Run a command after a plugin is installed/updated
# Provided, it requires to set the variable like the following:
# ZPLUG_SUDO_PASSWORD="********"
zplug "jhawthorn/fzy", \
    as:command, \
    rename-to:fzy, \
    hook-build:"make && sudo make install"

# Supports checking out a specific branch/tag/commit
zplug "b4b4r07/enhancd", at:v1
zplug "mollifier/anyframe", at:4c23cb60

# Can manage gist file just like other packages
zplug "b4b4r07/79ee61f7c140c63d2786", \
    from:gist, \
    as:command, \
    use:get_last_pane_path.sh

# Support bitbucket
zplug "b4b4r07/hello_bitbucket", \
    from:bitbucket, \
    as:command, \
    use:"*.sh"

# Rename a command with the string captured with `use` tag
zplug "b4b4r07/httpstat", \
    as:command, \
    use:'(*).sh', \
    rename-to:'$1'

# Group dependencies
# Load "emoji-cli" if "jq" is installed in this example
zplug "stedolan/jq", \
    from:gh-r, \
    as:command, \
    rename-to:jq
zplug "b4b4r07/emoji-cli", \
    on:"stedolan/jq"
# Note: To specify the order in which packages should be loaded, use the defer
#       tag described in the next section

# Set the priority when loading
# e.g., zsh-syntax-highlighting must be loaded
# after executing compinit command and sourcing other plugins
# (If the defer tag is given 2 or above, run after compinit command)
zplug "zsh-users/zsh-syntax-highlighting", defer:2

# Can manage local plugins
zplug "~/.zsh", from:local

# Load theme file
zplug 'dracula/zsh', as:theme

# 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

# Then, source plugins and add commands to $PATH
zplug load --verbose

zplugでライブラリをインストール

.zshrcをzshに読み込ませます。

source ~/.zshrc

zplugでライブラリをインストール。
各ライブラリは最新版が入ります。

zplug install

zplugをアップデート

各ライブラリの更新が不定期であるので、たまにupdate叩いてあげてください。

zplug update

おわりに

お疲れさまでした。
最後まで読んでいただきありがとうございますmm
zplugでの快適ライフをお過ごしください!

様々なライブラリの提供者に感謝しつつ、自分も貢献できるように精進します!
twitterでもGolang・Flutter・GCP開発など情報発信していますので、よかったらフォローしてやってくださいmm
https://twitter.com/kenbu05

参考

https://github.com/zplug/zplug

Discussion