zshの設定ファイル、.zshrcですが、いろんなカスタマイズをしていると、だんだんとどこになにが書いてあったのか、分からなくなってしまいます。
そこで今回は、.zshrcファイルを分割して、管理しやすくする方法を紹介します。
フォルダ構成について
まずはフォルダ構成についてです。
今回は、dotfilesの中で、.zshrcなどのファイルを管理しています。
dotfilesは、いろんなツールの設定(.からはじまるファイル)をひとつにまとめて管理するためのものです。
くわしい作り方は、以下を参考にしてください。
そして今回、dotfilesのzsh関係のファイルはこのようになっています。
dotfies/
|-- .zsh/
| |-- init.zsh
| |-- xxx.zsh
| |-- xxxxx.zsh
| `-- xxxx/
| |-- xxx.zsh
| `-- xxxxx.zsh
|-- link.sh
`-- .zshrc
グッバイキティ

こうして分割するんどすなぁ
アル

どうやって読み込むの?
.zshrcから、.zshフォルダにあるファイルを全部読み込もう!
では、.zshrcにコードを追加して、.zshフォルダのファイルをすべて読み込むようにしてみましょう。
.zshrcに、以下を追加します。
.zshrc
ZSH_DIR="${HOME}/.zsh"
# .zshがディレクトリで、読み取り、実行、が可能なとき
if [ -d $ZSH_DIR ] && [ -r $ZSH_DIR ] && [ -x $ZSH_DIR ]; then
# zshディレクトリより下にある、.zshファイルの分、繰り返す
for file in ${ZSH_DIR}/**/*.zsh; do
# 読み取り可能ならば実行する
[ -r $file ] && source $file
done
fi
まとめ
今回は、zshの設定ファイル、.zshrcを分割して管理する方法を紹介しました。
りこ

.zshrcを分割すると、どこになにを書いたかすぐに分かって、管理しやすくなるね!
山田

そうなんだべ
こういう設定は、いつの間にかどんどん増えていってしまうべから、早めに整理しておいた方がいいべ
それではわたすは、校長先生に呼ばれているから、そろそろ行くべ
アル

またなんかやらかしたの?
山田

いやいや、たいしたことないべ
理科の授業のとき、ガスバーナーでイカを焼いてたんだべ
グッバイキティ

先生らしいどすなぁ
でも、猫がイカなんて食べて大丈夫なんどすかぁ
山田

わたすは猫じゃないから大丈夫だべ!
りこ

猫でしょ!
アル

猫じゃん!
グッバイキティ

ご立派な猫はんどすなぁ