Macのターミナルを見やすくするおすすめ設定とプロファイル

プログラム,プログラミング

Macの標準ターミナルで作業していたのですが、デフォルトの設定だと色分けがされていないためコマンドや出力結果が見にくいです。

何よりも見た目がよろしくないのでやる気が出ません。

いけてない初期状態のターミナル

今回は以下のように色分けされたクールなターミナルにしていきます。

変更後:文字に色がついているとテンションも上がる

手順

macのターミナルをおしゃれにするための手順は以下の通りです。

  • Iceberg(外部テーマ)をダウンロードする(ページ下部のダウンロードボタンから)
    • ダウンロードしたzipファイルを解凍する
    • ターミナルを開き、「Iceberg」を読み込む
  • bashからzshに変更する
  • zshrcを編集して文字に色をつける
  • ターミナルの設定を変更する
    • フォントを変える
    • フォントサイズを「14」~「18」に変更する(お好みで)
    • 「カラーとエフェクト」を変更する
      • 不透明度を「90」に変更
      • ブラーを「20」に変更
      • 「一番手前でないウィンドウ」にチェックを入れる
      • 不透明度を「65」に変更
      • ブラーを30に変更

手順1:テーマ「Iceberg」をダウンロードする

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

macのターミナルのテーマはデフォルトでいくつか種類が用意されていますが、より綺麗なものを求めるのであれば自分でデザインを考えるよりも配布されているものを使うのが手っ取り早いでしょう。

上記の公式サイトより「Iceberg」というテーマをダウンロードします。

ページ下部の「Download」からzipファイルをダウンロードできます

ダウンロードができたら、zipファイルを解凍しましょう。

解凍するとIceberg.terminalが手に入ります

ターミナルを開いて、Iceberg.terminalを読み込む

ターミナル>設定からプロファイルを開いて左下の三点から「読み込む」を選びます

Icebergがダウンロードできたらターミナルから読み込んでいきます。

プロファイルの読み込むから「Iceberg.terminal」を選択すればOKです。

すでに開いているターミナルには適用されないため、ターミナルを開きなおせばIcebergを使用する事ができます。

Icebergを使用するだけでもいいですが、もっと文字の色を調整する事ができるので以下の手順でしていきます。

手順2:bashの場合はzshに切り替える

Macのターミナルで使用されるzshとbashは、どちらもシェルスクリプトと呼ばれるもので、ターミナルを通じてMacに命令を出すための言語です。

zshはbashよりも高度な機能を持っていますが、基本的な使い方としてシェルスクリプトの動作は変わりはありません。

macOS 10.14 Mojave まではbashが標準で採用されていましたが、macOS 10.15 Catalina からはzshが標準に切り替わったようです

赤丸がbashの場合はzshに切り替える
ターミナルの設定から一般タブを開き、「開くシェル」が/bin/bashになっている場合は/zshに書き換えられる

zshrcを編集して文字に色をつける

Icebergを使用するだけでは文字の色は変わりません。

それをするためにはzshrcというファイルを編集する必要があります。

zshrcとは「zshをrun command」するためのファイルの略です。

まずターミナルを開き、以下のコマンドを実行します。

cd ~
vim .zshrc
vim .zshrcを実行して以下のコードをコピペした後の状態

編集する内容は以下のとおりです。

元:https://gist.github.com/mollifier/4979906

# 少し凝った zshrc
# License : MIT
# http://mollifier.mit-license.org/

########################################
# 環境変数
export LANG=ja_JP.UTF-8


# 色を使用出来るようにする
autoload -Uz colors
colors

# emacs 風キーバインドにする
bindkey -e

# ヒストリの設定
HISTFILE=~/.zsh_history
HISTSIZE=1000000
SAVEHIST=1000000

# プロンプト
# 1行表示
# PROMPT="%~ %# "
# ここだけオリジナルから改変
PROMPT="%{${fg[green]}%}[%n@%m]%{${reset_color}%} %c/ %# "


# 単語の区切り文字を指定する
autoload -Uz select-word-style
select-word-style default
# ここで指定した文字は単語区切りとみなされる
# / も区切りと扱うので、^W でディレクトリ1つ分を削除できる
zstyle ':zle:*' word-chars " /=;@:{},|"
zstyle ':zle:*' word-style unspecified

########################################
# 補完
# 補完機能を有効にする
autoload -Uz compinit
compinit

# 補完で小文字でも大文字にマッチさせる
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'

# ../ の後は今いるディレクトリを補完しない
zstyle ':completion:*' ignore-parents parent pwd ..

# sudo の後ろでコマンド名を補完する
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \
                   /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin

# ps コマンドのプロセス名補完
zstyle ':completion:*:processes' command 'ps x -o pid,s,args'


########################################
# vcs_info
autoload -Uz vcs_info
autoload -Uz add-zsh-hook

zstyle ':vcs_info:*' formats '%F{green}(%s)-[%b]%f'
zstyle ':vcs_info:*' actionformats '%F{red}(%s)-[%b|%a]%f'

function _update_vcs_info_msg() {
    LANG=en_US.UTF-8 vcs_info
    RPROMPT="${vcs_info_msg_0_}"
}
add-zsh-hook precmd _update_vcs_info_msg


########################################
# オプション
# 日本語ファイル名を表示可能にする
setopt print_eight_bit

# beep を無効にする
setopt no_beep

# フローコントロールを無効にする
setopt no_flow_control

# Ctrl+Dでzshを終了しない
setopt ignore_eof

# '#' 以降をコメントとして扱う
setopt interactive_comments

# ディレクトリ名だけでcdする
setopt auto_cd

# cd したら自動的にpushdする
setopt auto_pushd
# 重複したディレクトリを追加しない
setopt pushd_ignore_dups

# 同時に起動したzshの間でヒストリを共有する
setopt share_history

# 同じコマンドをヒストリに残さない
setopt hist_ignore_all_dups

# スペースから始まるコマンド行はヒストリに残さない
setopt hist_ignore_space

# ヒストリに保存するときに余分なスペースを削除する
setopt hist_reduce_blanks

# 高機能なワイルドカード展開を使用する
setopt extended_glob

########################################
# キーバインド

# ^R で履歴検索をするときに * でワイルドカードを使用出来るようにする
bindkey '^R' history-incremental-pattern-search-backward

########################################
# エイリアス

alias la='ls -a'
alias ll='ls -l'

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

alias mkdir='mkdir -p'

# sudo の後のコマンドでエイリアスを有効にする
alias sudo='sudo '

# グローバルエイリアス
alias -g L='| less'
alias -g G='| grep'

# C で標準出力をクリップボードにコピーする
# mollifier delta blog : http://mollifier.hatenablog.com/entry/20100317/p1
if which pbcopy >/dev/null 2>&1 ; then
    # Mac
    alias -g C='| pbcopy'
elif which xsel >/dev/null 2>&1 ; then
    # Linux
    alias -g C='| xsel --input --clipboard'
elif which putclip >/dev/null 2>&1 ; then
    # Cygwin
    alias -g C='| putclip'
fi



########################################
# OS 別の設定
case ${OSTYPE} in
    darwin*)
        #Mac用の設定
        export CLICOLOR=1
        alias ls='ls -G -F'
        ;;
    linux*)
        #Linux用の設定
        alias ls='ls -F --color=auto'
        ;;
esac

# vim:set ft=zsh:

ctrl+v が使えるのでコピペしてしちゃいましょう。

貼り付けたら「:wq」と打ち込んでエンターを打ち、エディタを終了します。

ターミナルの背景とフォントを変更する

zshrcを変更するとターミナルの文字色がいい感じにおしゃれになっていることと思います。

ただ、背景が真っ黒なのと、背景がぼんやり見えた方が作業しやすいので、最後にターミナルの背景とフォントを変更しましょう。

設定完了後の画面

カラーとエフェクト

ターミナルの設定からプロファイルから「カラーとエフェクト」をクリックして、出てくる画面に以下の設定をします。

設定内容
  • 不透明度を「90」に変更
  • ブラーを「20」に変更
  • 「一番手前でないウィンドウ」にチェックを入れる
  • 不透明度を「65」に変更
  • ブラーを30に変更

フォントを変更する

デフォルトで入っているフォントを使ってもいいですが、プログラマー向けのフォントを使う方が視認性があがり、モチベーションも上がると思うのでおすすめです。

プログラマー向けのフォントは以下のサイトで確認できます。

https://www.programmingfonts.org/

今回は「白源フォント」を入れてみました。

元git:https://github.com/yuru7/HackGen

白源 (はくげん/HackGen)フォントをインストールする

brewを使ってインストールします。

$ brew tap homebrew/cask-fonts
$ brew install font-hackgen
$ brew install font-hackgen-nerd

実行後、ターミナルの設定画面からフォントを変更します。

もしもターミナルに出てこない場合は、ターミナルを再起動してください。

参考

Macのターミナル(bash)を最低限色付けする

macOSマシンを購入した際に最初にやるセットアップまとめ【エンジニア向け?】

私のプログラミング環境-フォント