iTerm2 + oh my zsh + tmuxで快適なターミナル環境を構築

MacBookProを購入してから2週間くらいたったけど、あんまり触れていないのですorz
普段はターミナルで作業をすることがほとんどなので、まずはターミナル環境を整えるところから。。。

iTerm2

デフォルトのTerminal.appでもよいけど、ネット徘徊するとiTerm2使っている人が多いのでiTerm2にしてみる。
インスコは至って簡単。こちらからiTerm2のzipをダウンロードして解凍。中にあるiTerm2をアプリケーションに突っ込めばおk。

iTerm2のカラーテーマ

vimはもっぱらmolokaiのカラースキーマを使っているのでターミナルもそうする。
molokaiテイストのテーマはここからダウンロード。(getafe.itermcolorsというファイルがiTerm2のカラーテーマ)
iTerm2を起動して、Profiles->Edit Profiles->ColorsタブのLoad Preset...からimportでダウンロードしたテーマをロードでおk

zsh

ずっと憧れてたzshだけど、「漢のzsh」シリーズ読んで敷居が高いというか、なんというか。コマンド補完とか使えりゃ十分なんで、oh-my-zshいれておすまい。
インスコこちらを参考にさせていただきました。
自分でいじったところといえばテーマぐらいですね。楽しく快適に作業するためには見た目重要。
oh-my-zshでも40種類ぐらいのテンプレートを用意してくれてますので、気にいるものがあればいいですね。
テーマのサンプルはこちらで確認できます。(私は「simple」にしました)

tmux(terminal multiplexer)

ターミナルマルチプレクサ(響きがかっこいいです☆)。zshであーだこーだやっているうちにGNU Screenがーみたいなのに行き着いて、最近はtmuxがーみたいなノリでtmuxいれてみました。
フルスクリーンアプリケーションでターミナルのパネル分割とか複数ウィンドウ管理とかいい感じです。
キーバインドvimテイストにして一体感抜群。
インスコこちらを参考にさせていただきました。
iTerm2と同じところにあるtmuxを使うべきか悩んだのですが、パッケージ管理が複雑になりそうなので、homebrewでインスコ

キーバインドは、半分以上パクったけど、今回はちゃんと試した(つもり)
いつもは試さずに丸パクリしているので自分成長したなーと。
~/.tmux.conf

# prefix1キー
set-option -g prefix C-t
unbind-key C-b
bind t send-prefix

# Loading .tmux.conf
bind r source-file ~/.tmux.conf; display-message "Reload Tmux Config"
# utf8 enabled
set-window-option -g utf8 on

# View
# ステータスライン更新間隔(秒)
set -g status-interval 5
set -g status-left-length 100
set -g status-right-length 50

set-option -g set-titles on
# www1.hoge.com→www1のみ表示。
set-option -g set-titles-string "@#(hostname | sed 's/\\\\..*//')"

# ステータスラインカスタム関連
set -g status-bg black
set -g status-fg white
set -g status-attr dim
# 左部:whoami@hostname
set -g status-left '#[fg=green,bold][#20(whoami)@#H]#[default]'
# 右部:[2011/03/06(Sun)20:21]
set -g status-right '#[fg=green,bold][%Y/%m/%d(%a)%H:%M]#[default]'
set -g message-attr bold
set -g message-fg white
set -g message-bg red

set -g pane-active-border-fg white
set -g pane-active-border-bg black

set-window-option -g mode-bg white
set-window-option -g mode-fg black
set-window-option -g window-status-bg black
set-window-option -g window-status-fg white
set-window-option -g window-status-current-bg green
set-window-option -g window-status-current-fg black
set-window-option -g window-status-current-attr bold

# Key Bindings
# vertical split window
bind C-v split-window -h
unbind-key '"'
# horizontal split window
bind C-s split-window -v
unbind-key %
# open last window
bind C-t last-window
# new window(default)
bind c new-window
# pane to window
bind b break-pane

# Pane Size
bind -r H resize-pane -L 6
bind -r L resize-pane -R 6
bind -r J resize-pane -D 6
bind -r K resize-pane -U 6
# Pane Move
bind -r h select-pane -L
bind -r j select-pane -D
bind -r k select-pane -U
bind -r l select-pane -R

# Pane exit
bind q kill-pane
# Window exit
bind Q kill-window

# Display Pane Number
bind i display-panes

# copy mode
set-window-option -g mode-keys vi
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
bind -t vi-copy Y copy-line
bind / list-keys -t vi-copy

出来上がったものがこれ

そのうちdotfiles管理もやっていきまつ。