🦔

M1 MacにiTerm2+fish shell+Iceberg+bobthefishを導入する

2022/06/12に公開1

https://zenn.dev/lightkun/articles/e666f0976e0c19
に続いてM1 Macの初期セットアップをしています.今回はiTerm2とfish shellを導入してカスタマイズするメモです.

環境

機種 : MacBook Pro 2021(M1 Max)
キーボード : USキーボード
OS : Monterey(12.2.1)

iTermのインストール

前回記事でインストール済みですが,一応書いておきます.以下からダウンロードボタンをポチってインストールできます.
https://iterm2.com/

homebrewのインストール

fishを入れようと思ったのですが,その前にhomebrewが必要でしたので,homebrewをインストールします.

https://brew.sh/index_ja

公式にあるように以下のコマンドを打ち込みます.

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

iTermでNext stepsという部分でPATHを通してねというのが表示されるので,2コマンドを打ち込みます.

$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/[ユーザー名]/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)

brewが正しくインストールされていることを確認します.

$ brew help
Example usage:
...
(省略)

fish shellのインストール

調べてみるとMacOS Catalinaからはbashではなく,zshがデフォルトになったようです.zshとfishのどっちがいいのか調べてみても半々といったところですが,fishを使っていきます.

https://fishshell.com/

公式にあるようにhomebrewで入れていきます.

$ brew install fish

インストールされていることを確認します.

$ fish -v
fish, version 3.4.1

デフォルトシェルをzsh→fishにする

$ which fish
/opt/homebrew/bin/fish

/etc/shellsを開いて,末尾に先程確認した/opt/homebrew/bin/fishを追加します.(intelの場合は/usr/local/bin/にあったような気がするんですがM1から変わってしまったんですかね)

$ sudo vi /etc/shells

デフォルトのシェルをfishに変更します.

 $ chsh -s /opt/homebrew/bin/fish

iTermを再起動するとfishになっています.

$ echo $SHELL
/opt/homebrew/bin/fish

iTermのテーマをIcebergに変更する

iTermを見やすくするために,テーマをIcebergに変更していきます.
公式のダウンロードをポチって入れようとしましたが,これはTerminal用の設定なのでiTermでは利用できません(ひっかかりました).

http://cocopon.github.io/iceberg.vim/

なので公式ではなく,以下のiceberg.itermcolorsをcurlでダウンロードして利用します.

https://github.com/Arc0re/Iceberg-iTerm2

$ curl -O https://raw.githubusercontent.com/Arc0re/Iceberg-iTerm2/master/iceberg.itermcolors

Macの左上のiTermのPreferenceからImportを選択して,先程ダウンロードしたiceberg.itermcolorsを選択します.

Importボタンのところを再度確認するとIcebergが入ったことがわかります.

fishのテーマをbobthefishに変更する

さらに見栄えをよくするために,今度はfishのテーマを変更していきます.

https://github.com/oh-my-fish/theme-bobthefish

と思ったのですが,その前にfisherを入れておきます.(詳しいところまで理解できてないですが)bobthefishを入れるためにはoh-my-fishが必要なのですが,fisherでも入れることが可能です.あとfisherのほうが便利らしいです.

https://github.com/oh-my-fish/oh-my-fish

https://github.com/jorgebucaran/fisher

以下のコマンドでfisherを入れていきます.

$ curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher

fisherはバージョンによってコマンドがところどころ変更されていそうです.この記事を書いている時のバージョンは4.3.2でした.

$ fisher -v
fisher, version 4.3.2

bobthefishを入れます.入れるとiTermの表示が変わります.が,文字化けが発生するのでこのあとフォントを変更します.

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

homebrewのパスを通す

次のフォント変更の準備です.
zshでは使えていたbrewコマンドが使えなくなっているので,パスを通します.fishの設定ファイルを追記します.

~/.config/fish/config.fish
# 追記
set -g -x PATH $PATH /opt/homebrew/bin

sourceコマンドで変更を反映させるとbrewコマンドが再び使えるようになります.

$ source ~/.config/fish/config.fish

iTermのフォントをRoboto Mono for Powerlineに変更する

bobthefishを入れると文字化けが発生します.文字化けしないようにするためにフォントを変更します.

まずフォントをダウンロードしてきます.

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

Macの左上のiTermのPreferenceからFontを変更します.

これでiTermで文字化けが発生しなくなります.

エイリアスを登録する

個人的には以下の設定を使用しています.一番下のfunction部分はcdコマンドでディレクトリ移動したときにpwdとlsも実行してくれるので,愛用しています.

~/.config/fish/config.fish
# 以下を追記
set -x EDITOR emacs
alias rm 'rm -i'
alias mv 'mv -i'
alias cp 'cp -i'
alias e 'emacs'
alias h history

function cd
	 builtin cd $argv[1]
	 pwd
	 ls
end

sourceコマンドで変更を反映させます.

source ~/.config/fish/config.fish

ちなみにemacsは以下のコマンドでインストール可能です.

$ brew install emacs
株式会社ゆめみ

Discussion

Mokomoko MokkonMokomoko Mokkon

何も考えずに記事のとおりに作業したら15分程度で完了しました!
Qiita等に掲載されている大量のノイズだらけの記事(失礼!)よりシンプルで助かります。