Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
117
Help us understand the problem. What is going on with this article?
@ijiest

tmux基本まとめ

More than 3 years have passed since last update.

tmuxとは

ターミナルマルチプレクサとか呼ばれているターミナルの仮想化とかするやつ
これ以外表現する方法がない。超便利
configファイルは.tmux.conf

セッション、ウィンドウ、ペイン

session > window > paneで覚えとけばいいと思うよ。
session
...tmuxの接続先

window
...session内でのタブみたいなもん

pane
...window内での作業できるスペースの単位、paneを分割することで一つのターミナルでも複数画面みたいなことができる

tmux操作の基本 prefixについて

tmuxは基本(prefix) + (別のキー)で操作する。
デフォルトのprefixは< Ctrl-b >となっている。
prefixは頻繁に打つことになるのだが、bがちょっと打ちづらいのでtmux使いは良くprefixのキーバインドを変更している。

tmux.conf
# bind Ctrl-j to prefix
set -g prefix C-j

# unbind default prefix
unbind C-b

# press Ctrl-j*2 to send-prefix
bind C-j send-prefix

何のキーprefixにするかはその人次第だと思うが、vimの操作とかとエディターの操作のキーとかと被らないようにするのが理想。

キー操作基本

< Prefix > + ?   キーバインド一覧
< Prefix > + :   コマンドプロンプト
< Prefix > + [   コピーモード

セッション操作

# 新規セッション作成
tmux
tmux new -s (session名)

# アタッチ 
tmux a 
tmux a -t (session名)

# デタッチ
< Prefix > + d

# セッション名変更
tmux rename -t (旧session名) (新session名)
< Prefix > + $

# セッションの削除
tmux kill-session     
tmux kill-session -t (session名)
tmux kill-server      # 全部kill

# セッションの一覧選択
< Prefix > + s

ウインドウ操作

c      新規ウインドウ作成
w      ウインドウの一覧選択
0-9    指定番号のウインドウへ移動
&      ウインドウの破棄
n      次のウインドウへ移動
p      前のウインドウへ移動
l      以前のウインドウへ移動
'      入力番号のウインドウへ移動
.      入力番号にウインドウ番号を変更
,      ウインドウの名前変更
f      ウインドウの検索

ペイン操作

%            左右にペイン分割
"            上下にペイン分割
q            ペイン番号を表示
カーソル      指定方向のペインへ移動 ※連続押しでプレフィックス継続
Ctrl-カーソル  ペインのサイズを変更 ※連続押しでプレフィックス継続
!            ペインを解除してウインドウ化
x            ペインの破棄
o            ペインを順に移動
;            以前のペインへ移動
z            現在のペインを最大化/復帰
スペース      レイアウトを変更
Alt-1-5      レイウトを変更
{            ペインの入れ替え(前方向)
}            ペインの入れ替え(後方向)
ctrl+o       ペインの入れ替え(全体)
t            ペインに時計を表示

コマンドモード

< Prefix > + :でtmux sessionの中でtmuxのコマンドが打てる
これを使わない場合にはCtrl-zでtmuxをサスペンドしてコマンドを打つことになる。
しかしだいたいキー操作でなんとかする感じなのであまり使わないかも

copy mode

< Prefix > + [ でcopy modeに入る
copy modeではviのnormal modeみたいな感じでjkとかで画面スクロールできる。
またvi同様v,Vでvisual modeで選択範囲をコピーできる。
viと違う点は< C-v >で矩形選択できる訳ではなく、vの挙動を通常か矩形選択か切り替えることができるということ
reattach-to-user-namespaceを使用すると、システムクリップボードと連携することが可能

tmux.conf
setw -g mode-keys vi
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy V select-line
bind-key -t vi-copy C-v rectangle-toggle
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -t vi-copy Escape clear-selection
bind-key -t vi-copy C-n page-up
bind-key -t vi-copy C-f page-down
bind-key -t vi-copy C-u scroll-up
bind-key -t vi-copy C-d scroll-down

vi-copyはversion2.2くらいまでで2.3以降はcopy-mode-viと変更があるので注意

その他

後は.tmux.confでのカスタマイズくらいかな
画面上のステータスバーとかペインの境界のハイライトとか色々あるけどそれは時間ができたら

117
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ijiest

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
117
Help us understand the problem. What is going on with this article?