bashからzshに変えると見せかけてbashからfishに変える(fishの良さ・悪さ)

前回に引き続き魚の話です。

嘘です。

シェルの話です。

今までmacデフォルトのシェルであるbashを使っていたのですが、ふとzshに変えてみようと思って調べてたら最近fishとやらが熱い(一部で)との情報を得たので変えてみました。

今のところ快適なのでご紹介です。

入れるかどうか迷っている方のために今回の記事では良さと悪さを紹介。

入れるのを決めている人は次の記事でいれ方と設定を説明しているのでそちらにどうぞ。

fishとは

新進気鋭のコマンドラインシェルです(実は別に新しくはない)。

本名はfriendly interactive shellらしいです。

便利な機能がデフォルトで入っているので入れるだけでだいぶ幸せになれますよ。

fishの良さ・メリット

1.デフォルトで便利

fishはとりあえず入れてターミナルのデフォルトにセットしておくだけでオートサジェスト・Tab補完がつかえてかなり便利です。

zshとかは結構いろいろプラグイン入れて設定する必要があるらしいです。

fishはデフォルトでコマンドを途中まで打つとグレーでその先を補完してくれてcontrl+fで確定できますし途中まで打って上下キーを押すと打った文字列を含む履歴を順に探すことができて楽です。

補完の図↓

こんな感じで途中まで打つと履歴からその先を補完してくれます。

(ちなみにカレントディレクトリと現在のブランチとおしゃれな矢印を出す様におれおれ設定してあります。おしゃれ。)

ディレトリも途中まで打ってタブを押すとその先の候補を出してくれるのでとても良いです。捗る。

2.設定が簡単

なんとこのfish、fish_configとコマンドを実行するとブラウザで設定ページが開かれグラフィカルに設定を変えることが可能です。

文字色や、プロンプト(シェルの左に表示される文字)をコンフィグファイルを触らずに設定可能です(もちろんコンフィグファイルを触ってもいい)。

履歴、キーバインドなどは編集はできない様ですが検索&確認ができます。

ちなみにこんな画面です。

これは文字色の設定画面。好きなテーマを選ぶか自分で色を変えてSet Themeを押すとあら不思議、ターミナルの方の色も変わります。

ただ、背景色も変わるかと思ったら変わらなかったのでターミナルの設定から変えました。

普通は変わるんですかね?

まあとにかく文字色は簡単に変えられます。

3.Vimキーバインドがある

これはすごい!!

なんとこのfish、デフォルトでVimのキーバインドが使えます。

ddで全消しとかciwで一単語消すとかが普通に使えてものすごく快適。

普段VSCodeにVimプラグインを入れて使いPHPストームをVimModeで使いメモをMacVimでとっている私にとってこれはものすごく嬉しいポイントですよ。Vimmerにおすすめ。

fishのイマイチなところ

1.zshと比べると日本語の情報が少ない気がする

日本語の情報がまだちょっと少ない気がします。便利なプラグインとか調べたいんですがそんなにヒットしませんでした。

まあプラグインなくても便利なので今のところ別にいいです。

2.bash_profileの一部を書き換える必要があり

.bash_profileにパスの設定などをしてある場合少し書き換えが必要です。ここは若干めんどくさかったです。

まあほぼ検索から一括置換だったので5分くらいで終わりましたが。

bashからzshの場合はそのまま使えるらしいですよ。

3.shellスクリプトの書き方が結構違う(から既存のbashスクリプトを実行できない)

らしいので普段shellスクリプト書いたり使ったり人は大変かも。

fish好きの人的にはかなり書きやすいそうですよ(ネットで得た情報ですが)

私は基本的に書かないので今のところあんまり気にしてませんがいざ使おうって時にちょっとめんどくさそうだなあって今思いました。

が、bashってコマンドすればすぐ切り替えられるのでその時に切り替えたらから別にいいなあって今思いました。

4.ググると魚が引っかかる

はらたつ。

はい、以上が今のところ私が感じているfishの良し悪しでした。

どちらかというとかなりオススメです。vimmerには特に。

結構長くなったのでインストール手順と設定方法などは次回の記事にしようと思います。

ではまた。

にほんブログ村 IT技術ブログへ
おすすめ

Udemyのビデオ講座は本当に捗るので学習にとてもおすすめです。まじで。


スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です