6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

zshからfish-shellへ体験入門

Last updated at Posted at 2017-09-23

サラッと試してみた感じを綴っただけなのでサラッと読んで下さい。

fish-shell

fishとはbashやzshと同じシェルの一つ。

導入

導入自体はすごく簡単でhomebrewを入れていれば

$ brew install fish

これでインストール完了。

デフォルトで使うために$ chsh -s /usr/local/bin/fishを忘れずに。

設定し終わるとデフォルトでいかした感じの画面になっていた。

プラグインマネージャーの選定

ネットでさらっと見た感じこの2つが候補になった。
zshで例えると前者はoh-my-zsh,後者はzplugみたいな印象

とりあえず今回はお試しみたいな感じだったので後者のfishermanを選択した。

$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher

それなりに仕上げるべく、プラグインをインストール

$ fisher z fzf edc/bass refaelrinaldi/pure

インストールしたプラグイン一覧は~/.config/fish/fishfileで見ることができる。

~/.config/fishのディレクトリ下にconfig.fishファイルを作る。(.zshrcのようなもの)

ここにパスなどの設定を書いた。

見よう見まねで書いた内容(あってるかわからないですが。)

# homebrew
set --export PATH /usr/local/sbin $PATH

# node
set -gx NVM_DIR $HOME/.nvm

# android
set --export ANDROID_DIR $HOME/Library/Android/sdk
set --export PATH $ANDROID_DIR $PATH
set --export PATH $ANDROID_DIR/platform-tools $PATH
set --export PATH $ANDROID_DIR/tools $PATH

# keybind
function fish_user_key_bindings
  # peco
  bind \cr 'peco_select_history (commandline -b)'
end

homebrewへのパス/usr/local/binへはデフォルトでPATHが入っていたので書きませんでした。その辺調べていないのでこれから使っていく中で調べれたらと思います。

zshとの比較

正直な感想、速さを求めるならありだと思う。起動速度は体感で感じるほどzshとの違いを感じた。
逆に今の環境に満足している人はやめたほうが無難な感じもある。
パスの書き方が違ったり、今使っているnvmなどのバージョン管理ツールが対応していない場合がある。
(nvmの場合それ用のwrapperがある。)
その他のツールについてもほとんどがbash、zshを意識して作っているので導入しようとすると、あれ?みたいなところはある。
そのあたりはプラグインで入れたbassなどを上手く使って対処するしかないのかなと思った。

半年くらいは試しで使ってみようかなと思う。

6
4
0

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
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?