# Tmux 指令整理
## 1. 啟動與管理 Session
### 新增 Session
```bash
tmux # 啟動 tmux (預設 session)
tmux new -s <your_session_name> # 建立具名 Session
```
### 列出現有 Session
```bash
tmux ls # 查看所有 tmux session
```
### 重新連線到指定 Session
```bash
tmux attach -t 0 # 連線到 session ID 為 0 的 session
tmux a -t <session_name> # 連線到指定名稱的 session
```
### 如果需要強制連線 (避免 nested session 問題)
```bash
unset TMUX # 解除已存在的 TMUX 變數
```
### 刪除指定 Session
```bash
tmux kill-session -t 0 # 刪除 session ID 為 0 的 session
tmux kill-session -t <session_name> # 刪除指定名稱的 session
tmux kill-session -a # 刪除所有 session
```
### 刪除 tmux 伺服器
```bash
tmux kill-server # 停止所有 session,並關閉 tmux 伺服器
```
### 重新命名 Session
```bash
tmux rename-session -t 0 <new_session_name> # 重新命名指定的 session
```
## 2. 快捷鍵與視窗管理
> **(Ctrl + B 按完後放開,再按後面的鍵)**
### 基本視窗操作
```bash
C-b ? # 顯示快捷鍵說明
C-b c # 新增視窗
C-b , # 重新命名視窗
C-b w # 顯示視窗列表
C-b f # 尋找視窗
C-b & # 刪除當前視窗
```
### Pane(分割畫面)管理
```bash
C-b % # 垂直分割 Pane
C-b " # 水平分割 Pane
C-b <方向鍵> # 切換 Pane
C-b x # 關閉 Pane
C-d # 關閉 Pane
C-b z # 讓 Pane 全螢幕,再按一次恢復
```
### 視窗切換
```bash
C-b p # 切換到上一個視窗
C-b n # 切換到下一個視窗
C-b <數字> # 切換到對應編號的視窗(編號顯示於狀態列)
C-b d # 離開 session(不關閉)
```
## 3. 建立特定名稱的 Session(範例)
```bash
tmux new -s jupyter_session # 建立名為 jupyter_session 的 tmux session
```