ウェブエンジニア珍道中

日々の技術的に関する経験を書いていきます。脱線もしますが助けになれば幸いです。

MacOSのターミナル環境構築(iTerm2 + Homebrew + zsh + Prezto + Ricty)の手順書

Macを買い替えたときや新しく会社から支給された時にいつも調べながら構築しているので、いっそまとめちゃいます。「自動化しろよ」って話は(∩゚д゚)アーアーきこえなーい

そのうちAnsibleで作ってくれるようにすると良いですね。

iTerm2のインストール

Macにてよく使われるターミナル。

www.iterm2.com

ここからダウンロードしてインストール。

Homebrew

定番パッケージマネージャ。

brew.sh

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

上記を叩いてインストール。

zsh

Homebrewで入れる。

brew install zsh

ターミナル起動時に起動するログインシェルがbashのままなのでzshに変更する。

$ which zsh
/usr/local/bin/zsh

zshの場所が/usr/local/bin/zshなので、/etc/shellsに追加してログインシェルの仲間入りをさせる。

$ sudo vi /etc/shells

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh ←追加

コマンドでデフォルトのログインシェルに設定

chsh -s /usr/local/bin/zsh

これで新しくセッションを開くとzshになる。

Prezto

github.com

zshの設定フレームワーク。zshはこれを入れるだけでそれらしくなる。

まず落としてくる。

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

で、以下を叩く。

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

これで完了、新しいセッションからは設定ファイルが読み込まれて見た目が変わる。

ちなみにアップデートは以下のコマンド、最初は叩かなくて良い。

cd $ZPREZTODIR
git pull
git submodule update --init --recursive

見た目(テーマ)は以下のコマンドで一覧を見る

prompt -l # 名前一覧
prompt -p # 見た目のサンプル付き一覧

変えたいときは~/.zpreztorcをvimなどで編集する。今回はpowerlineに変更。

zstyle ':prezto:module:prompt' theme 'sorin'
↓に変更
zstyle ':prezto:module:prompt' theme 'powerline'

読み込み直し。

source ~/.zpreztorc

Ricty

powerlineはふんだんにアイコンフォントを使っているテーマなのでこのままだと盛大に文字化けして使い物にならない。

そこでアイコンフォントに対応していて、かつプログラムを読み書きすることに向いているRictyというフォントを導入する。

brew tap sanemat/font
brew install --with-powerline ricty

cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
fc-cache -vf

これでフォントのインストールは完了するので、iTermで使うように設定する。

iTermのPreferences(⌘,)からProfiles→Textと選び、Fontの欄のChange Fontから選ぶ。

f:id:te-nu:20180830213442p:plain

これで文字化けが解消される。ついでにColors→Color Presetsからお好みの色を選ぶと良い。今回はSolarized Darkにした。

これでざっくりとした環境構築が完了。

f:id:te-nu:20180830214405p:plain

終わりに

iTermの設定でターミナルを半透明にしたり画像を背景にしたりできるので、お好みに調整してみてください。

preztoはライブラリも豊富でgitやdockerなどのコマンド補完も効くので調べて自分用にカスタマイズすると良いと思います。機会があればまたまとめたいと思います。では。