tmux
インストール
sudo apt-get install tmux
https://qiita.com/shin-ch13/items/9d207a70ccc8467f7bab
使い方
初めて tmux を実行する
tmux
現在のシェルのバックグラウンドで tmux セッションが開始され、セッション管理下の shell が起動する。
tmux はキーボードのみで操作する。
デフォルトでは Ctrl
と b
を一度同時押ししてから、別のキーを押すことで tmux を操作する。
Ctrl b
ではないキーの組み合わせに変更することもできる (~/.tmux.conf
で設定する)。
ここでは Ctrl b
の代わりに prefix
と表記する。
セッション作成
tmux new -s 名前
```
### セッションから離れる(detach)
元のターミナルのシェルに戻る。tmux のセッションはバックグラウンドで動き続ける。
`prefix d`
### セッションの一覧
セッションの外にいるとき
```
tmux list-sessions
```
セッションの中にいるとき
```
Ctrl-b s
```
セッション一覧を表示させた後で、↑↓キーでセッションを選んでリターンで選択できる。
### 既存のセッションに再接続
```
tmux a -t セッション名
```
### 既存のセッションを消去
```
tmux kill-session -t 名前
```
## .tmux.conf
実行中の tmux サーバーに設定を再読み込みさせる
```
tmux source-file ~/.tmux.conf
```
セッションの中にいるときにも設定を入力できる。
`prefix` を押してから続けて以下を入力すると、マウスでスクロールすることができるようになる
```
:set -g mouse on
```
### .tmux.conf 例
```
# tmux起動時のシェルをzshにする
set-option -g default-shell /bin/zsh
# tmuxを256色表示できるようにする
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'
# prefixキーをC-qに変更
# set -g prefix C-q
# C-bのキーバインドを解除
# unbind C-b
# ステータスバーをトップに配置する
set-option -g status-position top
# 左右のステータスバーの長さを決定する
set-option -g status-left-length 90
set-option -g status-right-length 90
# #P => ペイン番号
# 最左に表示
set-option -g status-left '#H:[#P]'
# Wi-Fi、バッテリー残量、現在時刻
# 最右に表示
set-option -g status-right '#(wifi) #(battery --tmux) [%Y-%m-%d(%a) %H:%M]'
# ステータスバーを1秒毎に描画し直す
set-option -g status-interval 1
# センタライズ(主にウィンドウ番号など)
set-option -g status-justify centre
# ステータスバーの色を設定する
set-option -g status-bg "colour238"
# status line の文字色を指定する。
set-option -g status-fg "colour255"
# vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# vimのキーバインドでペインをリサイズする
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
# | でペインを縦分割する
bind | split-window -h
# - でペインを縦分割する
bind - split-window -v
# 番号基準値を変更
set-option -g base-index 1
# マウス操作を有効にする
set-option -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"
# コピーモードを設定する
# コピーモードでvimキーバインドを使う
setw -g mode-keys vi
# 'v' で選択を始める
bind -T copy-mode-vi v send -X begin-selection
# 'V' で行選択
bind -T copy-mode-vi V send -X select-line
# 'C-v' で矩形選択
bind -T copy-mode-vi C-v send -X rectangle-toggle
# 'y' でヤンク
bind -T copy-mode-vi y send -X copy-selection
# 'Y' で行ヤンク
bind -T copy-mode-vi Y send -X copy-line
# 'C-p'でペースト
bind-key C-p paste-buffer
```