幸せなコンソール

この記事はCPS Advent Calender 2015 22thの記事です.


www.adventar.org

25日空いてます.どうしましょ.

今日のタイトルは「幸せなコンソール」

tmuxの良さについてまとめていきます.

tmux ?


サーバで作業する時,毎回sshを使ってログインするのが面倒です.
この画面ではvimで作業して
この画面ではgit
この画面では動作結果を確認するログを見るための画面
などなど.手間ですよね.
こういう画面切り替えを一元管理してくれるのがtmux

その他にも

途中でサーバとの接続切れた時に

またsshしてホームディレクトリから作業ディレクトリに移動して...

っていう手間も省ける(画面を3つ開いていたら同じ作業を3回することになるわけです)

tmuxを使わないとこんなイメージ
f:id:harhogefoo:20151223011817p:plain
用途毎に画面が増えていく...


iTermなどのエディタのタブ機能を使えばいい.
私もそう思っていましたが...
先にも述べたように,ネットワーク接続が切れると同じ作業をする.
とてもストレスなのです.


ということでiTermを使い続けていた自分もついにtmux導入に至ったわけです.

tmux導入

CentOSなら

$ sudo yum install tmux

tmuxのキーバインドprefix

prefixとは?

prefixはtmuxのこの機能を使いますよーって宣言するためコマンド
デフォルトはCtrl + bを押下した後に押下したキーに割り当てられているコマンド.
vimでいうと i とか aとか : とか
emacsでいうと C-a C-x に似ている.

めったにないけれど同じサーバを複数人で作業する場合
既にtmuxが導入してあったりしてtmuxのキーバインドが変更されている場合がある.
Ctrl + bしても何も起きないよ,なんて時には
自分のホームディレクトリに .tmux.confを作成して
キーバインドを設定しておくといいと思います.


.tmux.conf

set -g prefix C-b
bind r source-file ~/.tmux.conf \; display "Reloaded!"

これでCtrl + bを押下した後に,rを押下すると
設定ファイルを再読込するという設定ができました.
設定ファイルを書き換えた後に毎回再起動しなくてすみます.
エンジニアは同じことを何度も繰り返すことが嫌いなんだろうな.

tmux起動

$ tmux

tmux attach

$ tmux attach

ここで何か作業をする.vimを起動するとか
その状態で

tmux detach

Ctrl + b の後に d (prefix + d)

これでvimを起動した状態で他の画面に移動できる.
再度作業したければ tmux attach で戻る.

tmux new window

さらに新しい画面を作りたい場合は

Ctrl + b の後に c

ペイン(画面)一覧を表示

Ctrl + b の後に w

矢印キーまたは番号で選択してEnter

ペイン(画面)の削除

使わなくなったら Ctrl + b の後に &で 本当に削除するかを聞かれるのでyを押下して削除.



他にも画面の垂直分割,水平分割とかあるけど

ここまで来たらきっと自分で調べて進められるので終了!


以上,CPS Advent Calender 2015 22th「幸せなコンソール」でした.