【fish】ターミナル環境をかっこよくしてみた話

こないだターミナルの環境を色々と変更して自分的にけっこういい感じになったので紹介

具体的にはMacにiTermとfishとfishermanを導入していろいろやったって感じです

きっかけ

大学の勉強会で後輩の子のMacをさわらせてもらったときに自分のデフォルトのターミナルと全然違ったので「すげー!俺もこんないい感じのターミナル使いてー!」ってなったのがきっかけです

その後輩の子から、iTermっていう端末エミュレータ使っているということを聞き、早速導入してみることに

完成形

最終的にこんな感じになるのを目指します

iTermって何?

Macのデフォルトのターミナルは標準的な事は出来るものの少し物足りないことがあります。そんな時にオススメなのがiTerm。 画面の色を変えるのは勿論、色々便利な機能が盛り沢山です。

MacのターミナルアプリにはiTermがオススメ - Qiita より引用

らしいです

まぁ、デフォのターミナルよりいい感じにできるよって感じの端末エミュレータですかね

iTermの導入

まずは iTerm なるものをここからインストールします

f:id:sansuke05:20171103105318p:plain

ダウンロードして来たiTerm.appを開くとこんな画面が出るのでMove to Applications Folderを選択

これでとりあえずiTermが使えるようになりますが、デフォだとあれなので設定を変えます

iTerm2 -> Preference -> Profiles -> Colors -> Color Presets でカラースキームを設定することができます

デフォルトでもいくつか用意されていますが、Visit Online Galleryでカラースキームが配布されているページから取ってくることもできます

自分は今のとこデフォのTango Darkを使っています

f:id:sansuke05:20171103111627p:plain

とりあえず、ここまででこんな感じになりました。

ん、あんま変わってないって?

これからですよこれから

fishの導入

iTermと一緒にzshを入れようという記事は結構出てくるのですが、自分のzshのイメージが初期設定が色々めんどくさそうだしちょっとzsh使うのはなーと思ってたので、zshの代わりになりそうなshellを探したところfishなるshellがあるらしい

なんと、fishはとりあえず入れるだけでかなり便利な機能が使えるらしくプラグインも簡単に入れられるそうなので、これは使うしか!と思って入れてみました

インストール

homebrewでインストールします

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

これでインストールできたのでデフォルトシェルを変更します

$ sudo vim /etc/shells   #  末尾に /usr/local/bin/fish を追加
$ chsh -s /usr/local/bin/fish 

iTermを再起動すると色々変わってると思います。

設定ファイルはbashzshなどとは違い、~/.config/fish/config.fish のパスになります

Fishermanの導入

fishにはoh-my-fishというfishのパッケージ管理フレームワークがあるのですが、古いとか著作権問題がどーのこーので停止してたとか結構ディスられてました

そこで、Fishermanというプラグインマネージャーがいいということだったので、Fishermanを導入してみることに(なんと日本語対応のクイックスタートガイドもあるとのこと)

インストール

curlで以下を叩く

$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
$ fisher -v
fisherman version 2.13.2 ~/.config/fish/functions/fisher.fish

テーマの変更

Fishermanからテーマをインストールします

オススメのプラグイン導入とかも書きたいですが、今回は見た目をかっこよくすることが目的なのでそっちの方は省きます。

今回はagnostrというテーマをインストールしました

元々oh-my-fishのテーマらしいのでomf/をつけて、テーマ名の前にtheme-を書きます

$ fisher omf/theme-agnoster

これでテーマが変更されましたが、記号が文字化けしてしまいます

これを解決するためPowerline fontsをインストールします

$ git clone https://github.com/powerline/fonts.git
$ cd fonts/
$ ./install.sh

インストールしたフォントをiTerm2に設定します

設定画面のフォント名を以下のように変更します

f:id:sansuke05:20171103125445p:plain

フォントサイズは自由ですが、自分は13ptにしています

コマンドのカラーを変更する

最後にコマンドのカラーを変更します

fishではこういった設定は

$ fish_config

でローカル環境でサーバが起動しWebブラウザから設定できます

f:id:sansuke05:20171103130203p:plain

現在の自分の環境では、fish defaultからパスの色を緑、コメントの色をオレンジに設定して使っています

完成

これで、上で紹介したような見た目になったかと思います。

iTerm、fish、Fishermanには他にも便利な機能やカスタマイズができますので、ぜひ自分のお気に入りのターミナル環境を構築してみてください

--- 追記 ---

なんかデフォルトシェルをfishにしてしまうとdockerとか使うときにまずいという話を聞いたので、デフォルトシェルはbashのままでbashからfishを起動してくれる方法も追記しておきます。

まず、デフォルトシェルをbashに戻します。

$ chsh -s /bin/bash

そして、.bashrcに以下の1行を追記すればiTerm起動時にbashからfishを起動してくれます。

exec fish

参考

qiita.com

qiita.com

jnst.hateblo.jp

fishの設定ファイルなどはGitHubの方からも見れます。