玩轉 tmux

1. 核心會話 (Session) 管理
Tmux 最強大的功能是「分離 (Detach)」與「重新連接 (Attach)」。即使你關掉電腦或斷開 SSH,後台任務也會繼續執行。
  • 快速恢復: tmux a (預設恢復上一個會話) 或 tmux attach -t [session_name]
  • 查看清單: tmux ls 可以查看當前所有正在運行的會話。
  • 命名會話: 啟動時使用 tmux new -s work 給會話命名,方便日後識別。
2. 高效率窗格 (Pane) 操作
  • 常用快捷鍵 (Prefix 預設為 Ctrl + b):
    • %:垂直分屏;":水平分屏。
    • z全屏最大化當前窗格,再按一次恢復。這在看長日誌或寫代碼時非常有用。
    • x:關閉當前窗格。
    • space:在預設的幾種佈局(如均分、主從佈局)間切換。
  • 同步輸入: 輸入 :setw synchronize-panes。開啟後,你在一個窗格輸入的指令會同時同步到所有窗格,適合批量更新服務器。
3. 進階配置與客製化
編輯 ~/.tmux.conf 配置文件可以讓 tmux 更好用:
  • 修改前綴鍵: 預設的 Ctrl + b 較難按,許多人會改成 Ctrl + a (類似 Screen)。
  • 開啟滑鼠支持: 加入 set -g mouse on。開啟後可以用滑鼠調整窗格大小、點選切換窗格以及滾動查看歷史紀錄。
  • Vim 模式複製: 設定使用 v 鍵選擇、y 鍵複製,讓操作邏輯與 Vim 一致。
4. 滾動與搜尋
  • 進入複製模式:  Prefix + [,此時可以用方向鍵或 PageUp/PageDown 滾動查看歷史輸出。
  • 關鍵字搜尋: 在複製模式下按 / 即可進行向下搜尋,? 則為向上搜尋。
5. 實用外掛管理
推薦安裝 Tmux Plugin Manager (TPM),它可以讓你像安裝 Chrome 擴充功能一樣管理 tmux 外掛:
  • tmux-resurrect:系統重啟後也能恢復之前的所有會話與佈局。
  • tmux-continuum:定時自動保存會話狀態。

這是一份兼顧直覺操作(滑鼠支持、Vim 鍵位)與實用功能的 .tmux.conf 配置範本。你可以直接將內容覆蓋到 ~/.tmux.conf 文件中

# --- 基本設定 ---
set -g default-terminal "screen-256color" # 支援 256 色
set -g history-limit 10000 # 加大歷史捲動行數
set -s escape-time 0 # 消除按鍵延遲(對 Vim 使用者很重要)
set -g base-index 1 # 視窗編號從 1 開始(鍵盤位置較順手)
setw -g pane-base-index 1 # 窗格編號也從 1 開始

# --- 操作優化 ---
set -g mouse on # 開啟滑鼠支持 (捲動、調整大小、切換窗格)
setw -g mode-keys vi # 進入複製模式時使用 Vim 鍵位 (Prefix + [)

# --- 快捷鍵綁定 ---
# 修改前綴鍵為 Ctrl + a (可選,若習慣 Ctrl + b 則註解掉下面兩行)
set -g prefix C-a
unbind C-b

# 快速重新載入配置
bind r source-file ~/.tmux.conf \; display "配置已重新載入!"

# 直覺的分屏鍵 (與原有的 % " 並存)
bind | split-window -h -c "#{pane_current_path}" # 垂直分屏並保持在當前路徑
bind - split-window -v -c "#{pane_current_path}" # 水平分屏並保持在當前路徑

# 使用 Vim 鍵位切換窗格 (h, j, k, l)
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# --- 狀態欄美化 ---
set -g status-bg black
set -g status-fg white
set -g status-left-length 20
set -g status-left '#[fg=green][#S] ' # 顯示 Session 名稱
set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M ' # 顯示時間

如何套用?
  1. 存檔後,在終端機輸入:tmux source-file ~/.tmux.conf
  2. 或是進入 tmux 後,按 Prefix (如 Ctrl + a) 再按 r 即可生效。
額外小提示:
如果你想用滑鼠選取文字並複製,在開啟 mouse on 的情況下,選取時請按住 Shift ,這樣才能繞過 tmux 直接觸發終端機本身的複製功能。

版权声明:
作者:yxbinghe
链接:https://www.zhanhao.ch/?p=643
来源:ice.99
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>