Posted at
zshDay 20

zsh の設定ファイルの置き場所をまとめる

More than 5 years have passed since last update.

zsh の設定ファイルって多いですよね。まず .zshenv があって、 .zprofile.zshrc.zlogin があって、その他に独自に .zshrc.local やら .zshrc.ホスト名 を使っている方もいるでしょうし、人によっては .zlogout もあるかもしれません。

でも $HOME にファイルが ワサワサあると、ls -a した時に邪魔になりませんか。

そんな時にお勧めなのが、環境変数 ZDOTDIR です。

この環境変数に任意のディレクトリを設定しておくことで、zsh の設定ファイルを集めておくことができます。$HOME に置いておく必要があるのは .zshenv だけになります。

例えば以下のように $ZDOTDIR を設定すると、.zshrc や その他の zsh の設定ファイルを $HOME/.dot/zsh/ にまとめられる、というわけです。


$HOME/.zshenv

export ZDOTDIR=$HOME/.dot/zsh/


zsh に関する設定ファイル群を一つのディレクトリにまとめられると、いろいろと便利に取り扱うことができるようになります。


  • 何か探す時の grep 対象をそのディレクトリに限定できる

  • そのディレクトリを cvs や git で管理することができる

  • このディレクトリを tar して別ユーザの $HOME に展開するのもあり

  • $HOME が NFS 上にある時も .zshrc.ホスト名 を一箇所にまとめられる

「zsh の設定ファイルが増えてきたなぁ」と思う方は、ぜひお試しください。