クラスメソッドさんのこちらの記事を見て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を導入する