2011年12月16日金曜日

screenをやめてtmuxへ

どうも、俺@残業中です。

流行りモノの好きな俺はscreenをやめてtmuxへ移行することにしました。
とは言うものの、もうだいぶ前からある仮想端末ソフトみたいですが、、^^;

色んなブログを参考にしましたが、結局インストールして使ってみて、screenとtmuxとで大きな差がある感じはしません。
何よりも重宝されるdetach&attachが両方備わってる訳ですし。
tmuxだけで言うと
・コピペのバッファを複数利用できる
・画面分割がしやすい(paneという。縦横関わらず)
・動作が軽い(メモリ消費も少ないらしい)
・旬なやつ
というメリットがあります。

ではインストール、設定めもめもです。
※僕の端末はMac OSX(lion)ですので、Mac用のインストールメモも含まれてます。

まずMacな人はXcodeをインストールします。
http://developer.apple.com/xcode/
を参考に、インストール方法については省略します。

次にMacPortsをインストールします。これはMacなエンジニアにとっては結構便利なツールです。
http://www.macports.org/index.php
から自分の環境に合ったパッケージファイルをDLし、そのdmgファイルを実行して下さい。
僕はMacPorts-2-1.0.3-10.7-Lion.dmgを落としました。
あとはインストーラに従うだけです。
インストールが完了したら、ターミナルで環境設定を編集します。
僕はzshを使っているので

$ vim ~/.zshrc
--------------------------
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MATHPATH=/opt/local/man:$MANPATH
とします。bashの人も同じですね。
設定を読み込みます。

$ source ~/.zshrc
次に設定ができたか確認します。

$ port version
Version: 2.0.3
OKです。
まずは使う前に更新を確認します。

$ sudo port selfupdate
勝手に更新してくれます。

では早速tmuxをインストールしましょう!

$ sudo port install tmux
これで勝手にインストールしてくれます。yumみたいなもんですね。
インストールが終わったら

$ tmux
と打つだけで仮想端末が立ち上がり、まるでscreenのように!!
screenと同じく
$ exit
で終了します。


$ tmux list-session
でセッション一覧が見れます。平たくdetach、attachされた端末のことです。セッション番号:ウィンドウ数や起動日時が表示されます。
セッション番号を参考にし
$ tmux attach -t セッション番号
でアタッチできます。

tmuxはデフォルトでCtrl-bがプレフィックスになっているので、何かコマンドを打つ場合はまずCtrl-bを打つことが基本です。※もちろん設定で変えられますが、僕は基本に忠実にやってます!
tmuxを起動してからは、screenと同様にウインドウ分割(pane)やコピーモードへ移行、windowの生成など色々できます。

Ctrl-b ? ショートカット一覧
Ctrl-b d デタッチ
Ctrl-b w ウィンドウ一覧
Ctrl-b c ウィンドウ生成
Ctrl-b n 次のウィンドウへ
Ctrl-b p 前のウィンドウへ
Ctrl-b : コマンドモードへ
Ctrl-b [ コピーモード開始
Ctrl-b Ctrl-Space コピーモードでのコピー開始
Ctrl-b ESC-w コピーモードでのコピー終了
Ctrl-b ] コピーデータの貼付け
Ctrl-b q ペインのインジケータ(番号?)を表示
Ctrl-b t 時計表示(いらんw)
Ctrl-b % ウインドウを左右ペインへ分割
Ctrl-b " ウインドウを上下ペインへ分割
Ctrl-b o アクティブなペインの移動(次のペインへ移動)
Ctrl-b x ペインの破棄
Ctrl-b Space ペインレイアウトの変更(左右、上下)
Ctrl-b : resize-pane -U 数字 上部ペインのサイズ変更
Ctrl-b : resize-pane -D 数字 下部ペインのサイズ変更
Ctrl-b : resize-pane -L 数字 左ペインのサイズ変更
Ctrl-b : resize-pane -R 数字 右ペインのサイズ変更
メインで使うコマンドはこのくらいでしょうか。
あとは~/.tmux.confを編集して使いやすくします。


$ vim ~/.tmux.conf
--------------------------------
# コピーモードのキーバインドをviのように
# Spaceでコピー開始、Enterでコピー終了になります
set-window-option -g mode-keys vi

# 縦分割、横分割をviのキーバインドのように
bind s split-window -v
bind v split-window -h

# 分割画面への移動をviのキーバインドのように
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
僕はこんな感じにしました。
tmuxを使ってみる-なんでもつくるとか参考になります。


さぁ、これで快適なtmuxライフを送れますね!

以上でぇぇえぇす。


0 件のコメント: