search
LoginSignup
4

More than 1 year has passed since last update.

posted at

updated at

zplug のマイベストプラクティス

普段ターミナルで使っている zsh をもっと便利したいので私は高速な zplugin などがありますが zplug を使ってます。

注意: 私の使い方は zplug 開発側の想定外の使用方法です。あくまでも自己責任で使ってください!

tl;dr

: 'zplug' && () {
    export ZPLUG_REPOS="$HOME/.zplug/src"
    export ZPLUG_HOME="$ZPLUG_REPOS/zplug/zplug"
    export ZPLUG_BIN="$HOME/.zplug/bin"
    export PATH=$ZPLUG_BIN:$PATH
    export ZPLUG_CACHE_DIR="$HOME/.zplug/cache"
    export ZPLUG_LOADFILE="~/.config/zsh/packages.zsh"

    source $ZPLUG_HOME/init.zsh

    if [[ $ZPLUG_LOADFILE -nt $ZPLUG_CACHE_DIR/interface || ! -f $ZPLUG_CACHE_DIR/interface ]]; then
        zplug check || zplug install
    fi

    if __zplug::core::cache::diff; then
        __zplug::core::load::from_cache
    else
        zplug load
    fi
}

以前記事にした 自動ダウンロードの高速化 やキャッシュの読み込みを速く行われるように 内部で使われている関数 を使用してます。

プラグインをどんどん設定していこう!

$ZPLUG_LOADFILE で指定したファイルにどんどんプラグインを追加していくだけです!

設定例
zplug "zplug/zplug"

zplug "zsh-users/zsh-completions"

zplug "zdharma/fast-syntax-highlighting"

どうして開発側の想定外の使い方をしてるのか

読み飛ばしていただいてもOKです

zplug 開発側が想定してる使用方法の場合 zplug の自動更新を設定するために zplug --self-manage コマンドを実行すると思います。
ですがこの方法では $ZPLUG_ROOT$ZPLUG_HOME という 2種類の zplug を zplug --self-manage コマンドでシンボリックリンクを作成するというものでした。
この構造ではわかりにくいと感じ issue を立てたり P-R を作成し次のようなディレクトリ構造が成り立つようにしました

~/.zplug
├── bin             $ZPLUG_BIN
├── cache           $ZPLUG_CACHE_DIR
└── src             $ZPLUG_REPOS
    └── zplug
        └── zplug   $ZPLUG_HOME

これにより zplug をインストールした際に管理がしやすくなりました!

まとめ

あくまでも私が管理がやりやすいようにやってますので公式が行ってるようにやってもらったほうがいいと思います。

宣伝: 39e/zplug では高速化を行ったりPATHが追加されない問題を修正など自分なりに解決してるので是非試してみてください

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
What you can do with signing up
4