Fish Shellはじめました

先日書いた黒い画面のお友達”Fish”ですが、Homebrew経由でもインストールできるようになったようなので腰を据え付き合ってみたいと思います。
bashやzshに比べてインストール直後から設定不要ですぐに使い始められる印象で謳い文句通りユーザーフレンドリー

インストール

Homebrewの方は以下から。

$ brew install fish

それ以外の方はfish shellから。ひと通り触ったらfish tutorialに目を通すことをおすすめします。

ドキュメント

# ブラウザが開く
$ help

ウェブベースの設定画面

web_config

$ 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:追記
fish_user_pathsだと優先順序など解決されない問題もあるのでこちらも確認してみてください。

Comments

One thought on “Fish Shellはじめました

Comments are closed.