ポンコツ.log

ひよっこエンジニアのちょっとしたメモ。主に備忘録。たまに雑記。

【shell】今年はfish、キミに決めた

1月に1本でも上げようと思っていたらもう2月でした。
今年は更新頑張ろうと思いながら、すでに雲行きが怪しいです。

私事ですが転職をしまして、今年から新たなところでお世話になっています。
当然仕事に使うPCも代わり、まっさらな状態に戻ったので、ゴリゴリ環境を整えていたわけですが、「シェルどうしようかなぁ…」と迷っていました。

過去2回、元同期にオススメされたpreztoを導入してきたのですが、頭が足りないということもあって、どうにもすんなりいかない。
エディタが永遠にnanoになるという呪いにかかり、1から入れ直しということも経験してきました。
そんなこともあってか若干のprezto恐怖症を抱えていたので、潔く他のものにしてみようと思い立ち、良さげと聞いたfishを導入しました。

fishshell.com

fish導入

fish インストール

fishサイトの「Go fish」のところにインストール方法があります。
MacではHomebrewが使えるようなので、サクッとbrew installします。

$ brew install fish
$ fish -v
fish, version 2.7.1

fishをデフォルトに変更

インストールは無事完了したので、デフォルトのシェルをfishに変更します。
/etc/shellsにシェルの一覧が記述されているので、その中にfishのフルパスを追記します。

$ sudo vi /etc/shells
# /usr/local/bin/fish 追加

fishが利用できるようになったので、chshコマンドでデフォルトをfishに変更します。

$ chsh -s /usr/local/bin/fish
Changing shell for USERNAME.
Password for USERNAME:

終わりました。はやい \\٩('ω')و//

fishermanインストール

github.com ついでにプラグインマネージャの「fisherman」なるものも入れます。
他のプラグインマネージャの比較はこちらが参考になります。
fishのプラグインマネージャ比較 - Qiita

fishermanリポジトリにあるInstallの通り進めます。

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

# 一度ターミナルを再起動
$ fisher -v
fisherman version 2.13.2 ~/.config/fish/functions/fisher.fish

はやい \\٩('ω')و//

fisherコマンド

プラグインをインストールするときは

$ fisher plugin

インストール済みプラグイン一覧を見るときは

$ fisher ls

プラグインを更新するときは

$ fisher up [plugin]

インストールしたプラグインを削除するときは

$ fisher rm [plugin]

という感じで使えるようです。

テーマ

テーマってなんだか見るだけでも楽しいんですよね。
今回はoh-my-fishの中にあるテーマから選びました。

「どれにしようかなー」と各テーマを眺めていると、見覚えのあるアイツがいました。
水属性の2まいがいポ●モン。

サ●シの気持ちになって「キミに決めた!」の勢いでshellderを入れます。
github.com

ちゃんと勢い以外でも選んでます。

テーマインストール

fishermanのおかげで、テーマの導入もぱぱっとできます。

# shellderインストール
$ fisher simnalamburt/shellder

フォントインストール&変更

f:id:mr_96:20180205171731p:plain このままでは豆腐フォントのままなので、フォントを入れて、ターミナルの設定を変更します。

フォントのインストールは、shellder#Fontsにあるフォント2種類を入れます。
一つはpowerline
こちらはgitから。

$ mkdir plugins
$ git clone git@github.com:powerline/fonts.git
$ cd fonts
$ ./install.sh

もう一つはnerd-fonts。 こちらはいくつかインストール方法があるようですが、サクッとbrewで入れてしまいます。

$ brew tap caskroom/fonts
$ brew cask install font-hack-nerd-font

iTerm2ユーザなので、iTerm2の Preferences > Profiles > Text > Font からフォントを変更します。 f:id:mr_96:20180205172619p:plain

f:id:mr_96:20180205173615p:plain 無事豆腐も解消 \\٩('ω')و//

つぶやき

導入して1ヶ月ほど経ちますが、今の所特に不満もなく、「補完アザァッス」な気持ちで過ごしています。
fish_configと叩けば設定画面が開くのも面白いです。
とはいえ他のと比べて何が良いの、とまではまだわからないレベルなので、もう少し使い込んでみたいと思います。

参考

詳解 fishでモダンなシェル環境の構築(fish,tmux,powerline,peco,z,ghq,dracula) - Qiita
fish shell を使いたい人生だった | Developers.IO