search
LoginSignup
54
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

zsh Advent Calendar 2012 Day 12

posted at

Organization

.zshrc.localのススメ

すごく環境依存なコードを.zshrcに書かなければならないことってありますよね。
そういう時は、.zshrcに直接書くのではなく、例えば、.zshrc.localというファイルを作り、

.zshrc.local
# 今使っているマシンでのみ有効にしたい設定を書く

## 例1:heroku toolbeltを有効にするためのパス
export PATH="/usr/local/heroku/bin:$PATH"

## 例2:Treasure Dataのtdコマンドを使うためのAPI_KEYの設定
export TREASURE_DATA_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

.zshrcファイルの最後で、以下のように読み込むようにすると良いです。

.zshrc
# どのマシンでも共通に使いたい設定を書く
# ...
# ...

[ -f ~/.zshrc.local ] && source ~/.zshrc.local

こうすると、.zshrc.localというファイルがない場合は読み込みが起こらないので、.zshrcをそのまま他人にあげたり、他のPCに持っていったりしても不具合が起こらない状態を維持できます。
ファイルの最後で読み込むのは、.zshrc.local.zshrcの設定を上書きすることを出来るようにするためです。

[ -f hoge ]の意味の詳細は、man testと打って調べてください。(http://www.manpagez.com/man/1/test/)

応用

自分は、.zshrc.localの他に.zshrc.macも作っていて

.zshrc.mac
# open new tab in same working directory on osx lion.
precmd () {print -Pn "\e]2; %~/ \a"}
preexec () {print -Pn "\e]2; %~/ \a"}

alias emacs='/Applications/Emacs.app/Contents/MacOS/Emacs -nw'

というようになっています。

他にも、どのPCでも使うけれど、個人用の設定があるという場合は、.zsh.personalを作って、その中に入れておくと良いのではないでしょうか。

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
54
Help us understand the problem. What are the problem?