できるtmux-5分でわかる?仮想端末入門-

tmux便利ですよねー
どのくらい便利なのか具体的な使い方を説明しながら布教してみるテスト

0.前提、初期設定

~/.tmux.conf を用意します。
こんな感じの.tmux.confを使っています

パネル移動がviキーバインドで移動できるようにしています。
PrefixKeyはデフォルトではCtrl+Bです。
ここではPrefixKeyと表記します

1.セッション

以下のコマンドでセッションを開始できます
名前を付けた方が分かりやすいので、名前を付けておきます

$ tmux new -s projectA

作れました

突然projectBの仕事が入ってきました
デタッチして新しいセッションを開始します

PrefixKey d
$ tmux new -s projectB

projectBの作業が終わったので、projectAに戻ってみます

PrefixKey :choose-session

projectAを選択してEnterです

ちなみにtmuxのコマンドモードでは補完が効くので適当にTabをおすといいです

こうやって作業単位にセッションを作成すると後から分かりやすくなります
コマンドからアタッチする場合は以下のようにします

$ tmux a -t projectA

また以下のように後からセッション名を変更できます

PrefixKey :rename-session newname

2. ウィンドウ

ウィンドウ名を設定します。

PrefixKey ,

amazonのサーバにログインするのでamazonという名前にします

もう一つ端末を開いてみます

PrefixKey c
PrefixKey ,

こっちもamazonにログインするので同じ名前にしました

3.pane

最初のウィンドウに戻ってsshで繋いでみます

PrefixKey p
$ ssh amazon

うまくいきました
ログインしたサーバのキーバインドがviではないようです
直しておきます

$ set -o vi

何個か端末があると便利ですから,
もう一方のウィンドウもamazonにログインしておきます。

PrefixKey n

ウィンドウを分割して複数のpaneにします
とりあえず4枚つくります

PrefixKey s
PrefixKey s
PrefixKey s
PrefixKey s

なんか見にくいですね
レイアウトを変更してみます

PrefixKey SPACE

等間隔に並びました
このコマンドはプリセットされたレイアウトをローテーションすることができます
もう一回やってみます

PrefixKey SPACE

横に等間隔になりました
好きなレイアウトになるまで何回か押してみます

さて、この4画面すべてでamazonにログイン→set -o viしてみます
でも一画面ずつやるのは面倒ですよね
以下のコマンドでpaneのコマンドを同期させます

PrefixKey :set-window-option synchronize-panes on

これで一斉にコマンドを打てます

無事にログインできたら
同期をオフにします

PrefixKey :set-window-option synchronize-panes off

最初のウィンドウに戻ってみます

PrefixKey p

ちょっと2画面ならべて作業したくなりました
画面を分割してまたamazonにログインしても良いですが
せっかく4つもログインした端末が隣のウィンドウにあるので
もらってきましょう

PrefixKey :join-pane -s :1

一画面もらいました

こんどは要らなくなったpaneを隣に戻します

PrefixKey :join-pane -dt :1

戻りました

こんな感じにウィンドウ番号の後に.を付けてpane番号を指定してもってくることもできます

PrefixKey :join-pane -s :1.3

pane番号は以下のコマンドで参照できます

PrefixKey q

いつもこんな感じで作業してます。
他に便利な使い方があったらぜひ教えてほしいです><

おしまい

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

yamasita

東京電機大学工学部→3年間某SIerにて銀行システムの開発→bpsに入社→TechRacho外部ライター

yamasitaの書いた記事

インフラ
現場で使うansible

2014年12月25日

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ