先日書いた黒い画面のお友達”Fish”ですが、Homebrew 経由でもインストールできるようになったようなので腰を据え付き合ってみたいと思います。 bash や zsh に比べてインストール直後から設定不要ですぐに使い始められる印象で謳い文句通りユーザーフレンドリー。
インストール
Homebrew の方は以下から。
$ brew install fish
それ以外の方はfish shellから。ひと通り触ったらfish tutorialに目を通すことをおすすめします。
ドキュメント
# ブラウザが開く
$ help
ウェブベースの設定画面
$ fish_config
# ここでの設定は~/.config/fish/fishd.hogehogeに保存される
# hogehogeはランダム
PATH を通す
これが悩んだ。Fish は基本的にコマンドでパスを通す方向の模様
# 例えば以下のように
$ set -U fish_user_paths $fish_user_paths /usr/local/bin
$ set -U fish_user_paths $fish_user_paths $HOME/.rbenv/bin
この
set -U
とは何か。
$ set --help
# 以下一部抜粋
‐g or ‐‐global causes the specified environment variable to be given
a global scope. Non‐global variables disappear when the block they
belong to ends
# このユニバーサルオプションはuniversal scopeに保存されFishを再起動しても設定が保持される。
‐U or ‐‐universal causes the specified environment variable to be
given a universal scope. If this option is supplied, the variable
will be shared between all the current users fish instances on the
current computer, and will be preserved across restarts of the shell.
How to set $PATH persistently? · Issue #527 · fish-shell/fish-shell
補完ファイルを生成
Fish を使って一番驚いた機能。ちょっと感動した
# 生成されたものは~/.config/fish/generated_completionsに保存される
$ fish_update_completions
.bashrc 的なもの
# 無ければ作れば良い
$ touch ~/.config/fish/config.fish
以上、とても良い感じだと思いました。 2013-05-31:追記 fishuserpaths だと優先順序など解決されない問題もあるのでこちらも確認してみてください。