Fish Shellはじめました

May 30, 2013

先日書いた黒い画面のお友達”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:追記 fishuserpaths だと優先順序など解決されない問題もあるのでこちらも確認してみてください。


Profile picture

Webのフロントエンドからバックエンド、プロトタイピングからプロダクションまで。定額の開発サービスも。詳しくはAboutページで。