tmux

tmux

インストール

sudo apt-get install tmux

https://qiita.com/shin-ch13/items/9d207a70ccc8467f7bab

使い方

初めて tmux を実行する

tmux 

現在のシェルのバックグラウンドで tmux セッションが開始され、セッション管理下の shell が起動する。

tmux はキーボードのみで操作する。

デフォルトでは Ctrlb を一度同時押ししてから、別のキーを押すことで 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
```