LoginSignup
1
0

はじめに

Linuxでkubernetesをいじっていた時にtmuxがとっても便利だったので使い方を以下に整理しました。

tmuxを使っている様子
image.png

tmuxとは

1つのターミナルで複数のターミナルセッションを管理できるツールです。これにより、1つのターミナルウィンドウ内で複数のシェルセッションを実行し、それらを分割表示したり、バックグラウンドで実行したりすることができます。

主な機能は以下の通りです

  • 複数のセッション管理
    一つのターミナルウィンドウ内で複数のセッションを作成し、切り替えることができます
  • ウィンドウとペインの分割
    一つのセッション内でウィンドウを作成し、それをさらに縦や横に分割して複数のペインを表示できます
  • セッションのデタッチとアタッチ
    セッションを一時的にデタッチして、後で再度アタッチすることができます。これにより、長時間実行するタスクを中断することなく続行できます
  • セッションの持続性
    リモートサーバーでの作業中に接続が切れても、セッションが保持されるため、再接続後に作業を再開できます

用語

  • セッション
    一つのプロセスとかウィンドウみたいなイメージ。

  • ウィンドウ
    タブみたいなイメージ。

  • ペイン
    タブの中からさらに画面分割するみたいなイメージ。

よく使うコマンド

新規セッション作成&そこに入る

tmux

セッション一覧

tmux ls

セッション、ウィンドウ、ペインの終了

exit

(セッションの状態を維持したまま)終了

Ctrl + b → d

Ctrl + bをprefixといい、prefixを押しても画面上何も変わらないが、その後に色々なキーと組み合わせることでtmux上の操作が可能な仕組み。

prefixを変更する
~/.tmux.confを新規作成し、以下を記載する(例)

set -g prefix C-q
unbind C-b

# | でペインを縦に分割する
bind | split-window -h -c '#{pane_current_path}'

# - でペインを横に分割する
bind - split-window -v -c '#{pane_current_path}'

# Vimのキーバインドでペインを移動する

bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# VimのキーバインドでPaneをリサイズする
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

上記の後、以下を実行する。

tmux source-file ~/.tmux.conf

セッションに再接続

tmux a

セッションに名前を付けて、そこに接続

tmux new -s work1

名前をつけたセッションに接続

tmux a -t work1

ウィンドウの作成

prefix → c

ウィンドウの移動

prefix → ウィンドウ番号

ウィンドウの削除

prefix → &

ペインを上下分割

prefix → “

ペインを左右分割

prefix → %

ペインを移動

prefix →矢印キー

ペインのサイズ変更

prefix →Alt+矢印キー

時計を表示

prefix → t

全てのペインに対して操作をする方法

# シンクロの開始
tmux set-window-option synchronize-panes on

# 複数ペインに同じ入力が行われる

# シンクロの終了
tmus set-window-option synchronize-panes off

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0