tmux
terminal multiplexer(mux)
こんなときtmuxがあると嬉しい
ctrl-zして fg するにうんざりしたとき
ターミナルエミュレータに依存せずシェルの出力を取ったり検索したりしたいとき
サーバからデタッチして再アタッチするときシェルのセッションが残っててほしいとき
クイックスタート
code:shell
$ tmux # tmuxセッションに入る
(tmux)$ tmux split-pane # 画面が上下に分かれちゃったあ
(tmux)$ # ctrl-b + ↑ で上の画面に移動
(tmux)$ # ctrl-b + ↓ で下の画面に移動
(tmux)$ watch cat /proc/cpuinfo # なんか適当なコマンド
(tmux)$ # ctrl-b + ↑ で上の画面に移動しても cat /proc/cpuinfo が更新されてる!
(tmux)$ vim # 下の画面とは独立してコマンドが動く!
(tmux)$ tmux split-pane -h # 横に割れちゃたあ
(tmux)$ tmux detach # セッション抜ける
$ tmux attach # 前のセッションに戻れる!
類似
screen
byobu
vim/neovim multi-buffer splitting + :terminal
概念
次のような階層がある。
セッション … ウィンドウを束ねる。 tmux list-sessions で確認
ウィンドウ … ペインを束ねる。 tmux list-windows で確認
ペイン シェルやシェルコマンドの実行ができる 。 tmux list-panes で確認
バッファ でコピペができる。バッファはtmux-globalなスタックで管理され、tmux内でバッファに文字列をコピーするとバッファスタックにプッシュされる。ペーストはデフォルトではスタックトップ。
機能いろいろ
tmuxのサブコマンド以外にも、シェルコマンドを利用することができるので、つまりだいたいなんでもできる。
おしゃれ
パッケージマネージャ
tmuxは設定ファイルを分割してそれぞれ読み込んだりなんだりできる。
これをパッケージ化して公開したりなんだりできる。
ryota-ka.icon < ワイの .tmux.conf はこんな感じ!
Nymphium.icon < ワイこれ