MacにiTerm2+fish shell+Iceberg+bobthefishを導入する
に続いてM1 Macの初期セットアップをしています.今回はiTerm2とfish shellを導入してカスタマイズするメモです.
環境
機種 : MacBook Pro 2021(M1 Max)
キーボード : USキーボード
OS : Monterey(12.2.1)
iTermのインストール
前回記事でインストール済みですが,一応書いておきます.以下からダウンロードボタンをポチってインストールできます.
homebrewのインストール
fishを入れようと思ったのですが,その前にhomebrewが必要でしたので,homebrewをインストールします.
公式にあるように以下のコマンドを打ち込みます.
$ /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を使っていきます.
公式にあるように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では利用できません(ひっかかりました).
なので公式ではなく,以下のiceberg.itermcolorsをcurlでダウンロードして利用します.
$ curl -O https://raw.githubusercontent.com/Arc0re/Iceberg-iTerm2/master/iceberg.itermcolors
Macの左上のiTermのPreferenceからImportを選択して,先程ダウンロードしたiceberg.itermcolorsを選択します.
Importボタンのところを再度確認するとIcebergが入ったことがわかります.
fishのテーマをbobthefishに変更する
さらに見栄えをよくするために,今度はfishのテーマを変更していきます.
と思ったのですが,その前にfisherを入れておきます.(詳しいところまで理解できてないですが)bobthefishを入れるためにはoh-my-fishが必要なのですが,fisherでも入れることが可能です.あと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の設定ファイルを追記します.
# 追記
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も実行してくれるので,愛用しています.
# 以下を追記
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
何も考えずに記事のとおりに作業したら15分程度で完了しました!
Qiita等に掲載されている大量のノイズだらけの記事(失礼!)よりシンプルで助かります。