Tech Racho エンジニアの「?」を「!」に。
  • インフラ

できる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

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

おしまい


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。