タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

autoloadに関するkoyudoonのブックマーク (2)

  • zsh で source して使うプラグインを作るのは止めにしよう - Qiita

    特に、cd や bindkey など、今動いているシェル上で副作用のある処理を行いたいときは source を使わないとうまくいかないだろう。 一方、source にはこんなデメリットがある。 .zshrc でいっぱい source するとzsh の起動が遅くなる 現在動いているシェルの alias 設定の影響を受ける 特に2つめが厄介だ。例えば grep とかしたときに、alias grep='grep -E' なんか設定してあったら正規表現の意味が変わってしまう。一応 command grep とすれば alias を設定していない元の grep を実行できるけど、いちいちそう書くのも手間だ。 そんなときは autoload を使う形に書き換えるとうまくいく。 autoload というのは「関数体の読み込みを実行する時まで遅らせる」という zsh の機能のこと。これで ~/.zshr

    zsh で source して使うプラグインを作るのは止めにしよう - Qiita
    koyudoon
    koyudoon 2014/12/03
    zshrc などにおいて、source じゃなくて autoload で遅延評価しようぜ!!
  • .zshrcで見かけるautoloadの意味と使い方 - Qiita

    今回はこの autoload が何をするものなのか解説します。 autoloadはシェル関数を読み込む autoload はシェル関数を 自動読み込み するシェルの組み込み関数です。上記のスクリプトの場合、 compinit というシェル関数を自動読み込みします。 シェルコマンドは PATH に入っていればそれだけで実行可能でしたが、シェル関数の場合は関数を定義しなければ使えません。 autoload はファイルシステム上にある関数定義を読み込むための関数なのです。そして autoload 探索するディレクトリは FPATH に入っています。 余談ですが FPATH だと : 区切りの文字列、 fpath だと配列になります。PATH と path と同じですね。 シェル関数とシェルコマンドの違い autoloadを使ってみる % mkdir ~/functions % FPATH="${

    .zshrcで見かけるautoloadの意味と使い方 - Qiita
    koyudoon
    koyudoon 2014/04/02
    autoload や FPATH の基礎解説。分かりやすい。/追記:内容に間違いは無いが、一部誤解を招くような表現。実際の利用シーンに即していない。
  • 1