LoginSignup
23
19

More than 5 years have passed since last update.

zshの設定ファイルを分割して整理しやすくする

Last updated at Posted at 2014-07-16

.zshrc before...

初期の設定をし終わったあとでも、zshの設定には追加できるものが多いです。
新しい設定を付け足すたびにごちゃごちゃしがちな設定ファイル群ですがまとめればスマートに出来ると思います

.(source)

.(source)コマンドを使って外部のスクリプトを実行することで変数や関数をそのまま引き継ぐことが出来ます。

$ cat hello.sh
#! /bin/bash

hello="world!"

function hi {
    echo "hi!${hello}"
}

hi
$ bash hello.sh
hi!world!
$ hi
zsh: command not found: hi
$ echo $hello

$ . ./hello.sh
hi!world!
$ hi
hi!world!
$ echo $hello
world!

このコマンドを使って外部にエイリアスなどを移動したいと思います

関数の定義

function loadlib() {
        lib=${1:?"You have to specify a library file"}
        if [ -f "$lib" ];then #ファイルの存在を確認
                . "$lib"
        fi
}

この関数を.zshrcなどの頭に書いておけば loadlib /path/to/lib で外部に分けた設定ファイルを読み込むことが出来ます。

.zshrc after!

.zshrc
function loadlib() {
        lib=${1:?"You have to specify a library file"}
        if [ -f "$lib" ];then #ファイルの存在を確認
                . "$lib"
        fi
}

loadlib $ZDOTDIR/zshfunc        #関数
loadlib $ZDOTDIR/zshautoload    #autoload
loadlib $ZDOTDIR/zshopts        #optset
loadlib $ZDOTDIR/zshalias       #alias
loadlib $ZDOTDIR/zshvars        #変数

スッキリしました
#何をやっているのか分かりにくくなっただk(ry

23
19
2

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
  3. You can use dark theme
What you can do with signing up
23
19