fish shellプラグイン「oh-my-fish」でGitブランチやステータスを表示させる(Mac)

この記事は約5分で読めます。

クラスメソッドさんのこちらの記事を見てfishを使い始めたのですが、最近shell上でGitの

  • ブランチ名
  • ステータス

を分かりやすく表示してくれるプラグイン「oh-my-fish」を知り導入してみました。

スポンサーリンク

前提条件

  • fish shell本体
  • プラグインマネージャー:fisherman

がなければ始まりません。

インストールしていない場合は下記手順を参考にインストールして下さい。

fish shellのインストール

Homebrewで簡単にインストール出来ます。

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

次にデフォルトシェルを変更します。

$ sudo vi /etc/shells   #  末尾に /usr/local/bin/fish を追加
$ chsh -s /usr/local/bin/fish  # デフォルトシェルを fish に変更

shellを立ち上げ直すとfish shellにshellが切替ります。

fishermanのインストール

fish用のプラグインマネージャーをインストールします。

これを入れることにより、記述が必要な設定ファイルが最小限で済むようになります。

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

スポンサーリンク

power lineフォントのインストール

oh-my-fishをインストールすると特殊記号(ブランチの絵)が画面に表示されるようになるのですが、shellで文字化けを起こします

これを解消させるために、power lineフォントをインストールする必要があります。

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

shellフォントをpower lineフォントに変更

shellのフォントを先ほどインストールしたpowor lineフォントに変更します。

iTerm2の設定は次の通りです。

フィルタで powerline と入力すると、power line系フォントがリストに表示されるので、そこから利用するフォントを選択します。

スポンサーリンク

oh-my-fishプラグインのインストール

shellでfisher add oh-my-fish/theme-テーマ名を実行しインストールします。

テーマはこちらで確認出来ます。

下記コマンドはbobthefishテーマを選択した場合のものとなります。

$ fisher add oh-my-fish/theme-bobthefish

インストール後shellを立ち上げ直し、Git配下のフォルダへ移動し画面が以下のようになっていればインストール完了です。

スポンサーリンク

表示のカスタマイズ

config.fishに表示やGitプロンプト関連の環境変数を入れる事でshell表示内容のカスタマイズが出来ます。

~/.config/fish/config.fish設定例

# fishのキーバインドをvi風に
fish_vi_key_bindings
# プロンプトにviのモードを表記
set -g theme_display_vi yes

# 日付を表示
set -g theme_display_date yes
set -g theme_date_format "+%F %H:%M"

# masterでもブランチ名を表示
set -g theme_display_git_master_branch yes

# コマンドの実行時間を表示
set -g theme_display_cmd_duration yes

# shellのタイトルバー表示をカスタマイズ
set -g theme_title_display_user no
set -g theme_title_display_process yes
set -g theme_title_display_path no

# exitステータスを表示
set -g theme_show_exit_status yes

# カーソルは■▶の次の行。プロンプトの頭は$。ディレクトリ名は省略表示しない(0)
set -g theme_newline_cursor yes
set -g theme_newline_prompt '$ '
set -g fish_prompt_pwd_dir_length 0

スポンサーリンク

表示例

当ブログのsitemapをメンテした際、Source Repositoryに反映させるためにGitコマンドを幾つか叩いてみました。

  • インデックス未登録
  • コミット未実施
  • remote branchへの未push

といった状態が色付きで表示されるので、都度git statusを叩いて状態確認する必要がなくなり、使いやすくなりました

画面の見栄えも業界人っぽくなり、自己満足度アップです。

fishのplugin、他にも便利なものがありますので、お試ししては如何でしょうか?

スポンサーリンク

参考サイト

【2019年版】macのターミナルにFishとFishermanを導入する

(超入門)fishでプロンプトを変えたい人へのチュートリアル

fish公式サイト

上のサイトの日本語訳を集めたサイト(非公式)

arch wikiのfishのページ

スポンサーリンク
DevelopLinux
ヤマログ
タイトルとURLをコピーしました