玩轉 tmux
- 快速恢復:
tmux a(預設恢復上一個會話) 或tmux attach -t [session_name]。 - 查看清單:
tmux ls可以查看當前所有正在運行的會話。 - 命名會話: 啟動時使用
tmux new -s work給會話命名,方便日後識別。
- 常用快捷鍵 (Prefix 預設為
Ctrl + b):%:垂直分屏;":水平分屏。z:全屏最大化當前窗格,再按一次恢復。這在看長日誌或寫代碼時非常有用。x:關閉當前窗格。space:在預設的幾種佈局(如均分、主從佈局)間切換。
- 同步輸入: 輸入
:setw synchronize-panes。開啟後,你在一個窗格輸入的指令會同時同步到所有窗格,適合批量更新服務器。
~/.tmux.conf 配置文件可以讓 tmux 更好用:- 修改前綴鍵: 預設的
Ctrl + b較難按,許多人會改成Ctrl + a(類似 Screen)。 - 開啟滑鼠支持: 加入
set -g mouse on。開啟後可以用滑鼠調整窗格大小、點選切換窗格以及滾動查看歷史紀錄。 - Vim 模式複製: 設定使用
v鍵選擇、y鍵複製,讓操作邏輯與 Vim 一致。
- 進入複製模式: 按
Prefix + [,此時可以用方向鍵或PageUp/PageDown滾動查看歷史輸出。 - 關鍵字搜尋: 在複製模式下按
/即可進行向下搜尋,?則為向上搜尋。
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 ' # 顯示時間
- 存檔後,在終端機輸入:
tmux source-file ~/.tmux.conf - 或是進入 tmux 後,按
Prefix(如Ctrl + a) 再按r即可生效。
mouse on 的情況下,選取時請按住 Shift 鍵,這樣才能繞過 tmux 直接觸發終端機本身的複製功能。
共有 0 条评论