その他
    ホーム 技術発信 DoRuby 【tmux】1つで複数のターミナルを操作する
    【tmux】1つで複数のターミナルを操作する
     

    【tmux】1つで複数のターミナルを操作する

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    tmuxの基本的な操作方法について簡単にまとめました。

    地元では見たことない大雪にワクワクしていたものの、想像を超える寒さで最近朝が辛いBe82Mです。
    業務で使用した際に調べたり使ったりしたものを、備忘録としてまとめようと思います。
     

    tmuxとは?

    ターミナルマルチプレクサ、つまり画面1つで複数のターミナルを操作することができます。
    1つの端末で画面分割することもできれば、タブを作成することもできます。
     

    事前知識

    使うにあたって必要な予備知識です。

    • session tmuxの接続先を指します。
    • window 名前の通りウインドウです。タブと同じような扱いになります。
    • pane 1つのウインドウ内にある分割領域を指します。  

    起動する

    インストールはbrew等で出来ます。
    環境に合わせてインストールを行ってください。
    インストールが終わったら、tmux new -s [session名]でセッション作成、起動ができます。
    以前に作成したセッションに接続する場合はtmux a -t [session名]と叩けば再接続が可能です。
     

    基本的なコマンド

    tmuxのコマンドを使うときのバインドキーはデフォルト設定の場合control-bです。
    バインドキーをカスタマイズすることも可能ですが、それは後に記述します。
    (以下コマンドの説明ではバインドキーを[bind]と表記します。)
    ウインドウ、ペイン、セッション各々の操作方法に分けて説明します。

    • window
      ウインドウを追加すると、ウインドウ名と数字が割り当てられ、ターミナル下部に表示されます。
      [bind] + c 新しいウインドウを作成する
      [bind] + & 現在のウインドウを破棄する
      [bind] + n 次のウインドウに移動する
      [bind] + p 前のウインドウに移動する
      [bind] + [数字] 指定した数字のウインドウに移動する
      [bind] + , 現在のウインドウの名前を変更する
       
    • pane
      ペインを追加すると、現在のウインドウが分割され、1画面で複数のターミナルを操作できます。
      [bind] + % ペインを左右に分割する
      [bind] + ” ペインを上下に分割する
      [bind] + x 現在のペインを削除する
      [bind] + o ペインを移動する
      [bind] + ! 現在のペインをウインドウ化する
       
    • session
      起動時のコマンドは先ほど説明しましたが、以外のコマンドは以下の通りです。
      [bind] + d 現在のセッションからデタッチする
      [bind] + $ 現在のセッションの名前を変更する
       
      tmux ls セッション一覧を表示する
      tmux kill-session セッションを削除する
      tmux kill-session -t [session名] 現在のセッションを削除する
      tmux kill-server セッションを全て削除する
      tmux rename -t [旧session名] [新session名] セッションを削除する
       

    カスタマイズ

    tmux専用の設定ファイル~/.tmux.confを書き換えます。
    set -g prefix C-a バインドキーをcontrol-aに変更する
    unbind C-b control-b(デフォルト)を解除する
    他にも色々設定できるようですが、これくらいしか使ったことないので割愛します。
     

    最後に

    正直、業務で必要になったときに初めて使ったので、かえってやり辛かったです。
    次使用するときにはコマンドをちゃんと記憶しておきたいです。