配置 tmux
說明
當啟動 tmux 伺服器,tmux 在使用者的家目錄中運行一個名為 .tmux.conf 的文件。 該文件包含按順序執行的 tmux 命令列表 請務必注意 .tmux.conf 僅在啟動伺服器時運行 而不在創建新會話時運行
可以使用 source-file 命令從 .tmux.conf 或正在運行的 tmux 伺服器 運行不同的配置文件,例如使用命令提示符從正在運行的 伺服器再次運行 .tmux.conf
配置文件中的命令每行顯示一個 以#開頭的任何行都是註釋,將被忽略
使用滑鼠
:set -g mouse on
打開滑鼠命令提示
它可用於更改活動中窗格或窗口,調整窗格大小
複製內容或從菜單中選擇項目
滑鼠操作說明
在窗格按左鍵切換活動中的窗格
在狀態欄的窗口名稱按左鍵切換窗口
按左鍵拖曳窗格邊距調整大小
在窗格內拖曳左鍵選取文字 放開滑鼠時複製選取的文字
在窗格按右鍵打開一個包含各種指令的選單 當釋放滑鼠後,選取的命令會在目標光格中運行 每一個選單項目也有一個快捷鍵顯示在括號中
在狀態欄的窗口或會話的名稱按右鍵打開一個 類似的選單給窗口或會話使用
快捷鍵綁定
使用 bind-key
和 unbind-key
命令可以更改 tmux 快捷鍵綁定
tmux 中的每個快捷鍵綁定都屬於一個命名的快捷鍵表
有四個預設的快捷表:
root(根) 表包含不帶前綴鍵的快捷鍵綁定
prefix(前綴) 表包含在前綴鍵按下之後的快捷鍵綁定 就像進入到 tmux 的快捷鍵提到的那樣
copy-mode(複製模式) 表包含使用 emacs(1)-style 的按鍵 在復制模式下使用快捷鍵綁定。
copy-mode-vi 表包含使用 vi(1)-style 的按鍵 在復制模式下使用快捷鍵綁定。
可以使用 list-keys
命令列出所有的快捷鍵綁定或
單個表的快捷鍵綁定。預設情況下,這會將按快捷鍵顯示為
一系列的 bind-key 命令。
-T 標誌 要顯示的快捷鍵表
-N 標誌 顯示快捷鍵幫助,像是 C-b?
快捷鍵綁定
作者在輸入 -N 時,已經變成非法的選項了
例如,僅列出 prefix 表中的快捷鍵
或者
綁定 C-b M-0
快捷鍵為選擇窗口 10
取消綁定快捷鍵 C-b M-0
更進一步綁定的部分在手冊頁的命令部分
複製模式快捷鍵
複製模式快捷鍵綁定在 copy-mode 和 copy-mode-vi 按鍵表中設定 複製模式具有一組單獨的命令,這些命令使用 -X 標誌 傳遞給 send-keys 命令,例如,複製模式 start-of-line 命令 將游標移動到行的開頭,並綁定 C-a 到 copy-mode 按鍵表:
手冊頁中提供了複製模式命令的完整列表,這裡是選取:
命令
emacs(1)
vi(1)
描述
begin-selection
C-Space
Space
開始選取
cancel
q
q
離開複製模式
clear-selection
C-g
Escape
清除選取
copy-pipe
複製並管道到第一個參數中的命令
copy-selection-and-cancel
M-w
Enter
複製選取並離開複製模式
cursor-down
Down
j
向下移動游標
cursor-left
Left
h
向左移動游標
cursor-right
Right
l
向右移動游標
cursor-up
Up
k
向上移動游標
end-of-line
C-e
$
移動游標到行尾
history-bottom
M->
G
移至歷史底部
history-top
M-<
g
移至歷史頂部
middle-line
M-r
M
移至中間行
next-word-end
M-f
e
移至下一個單字的節尾
page-down
PageDown
C-f
向下翻頁
page-up
PageUp
C-b
向上翻頁
previous-word
M-b
b
移至上一個單字
rectangle-toggle
R
v
切換矩形選取
search-again
n
n
重複上一次搜尋
search-backward
?
向後搜尋,第一個參數是搜尋項目
search-backward-incremental
C-r
向後漸進搜尋,通常與 -i 標誌一起使用命令提示
search-forward
/
向前搜尋,第一個參數是搜尋項目
search-forward-incremental
C-s
向前漸進搜尋
search-reverse
N
N
重複上一次搜尋,但方向相反
start-of-line
C-a
0
移至行首
選項類型
顯示選項
$ tmux show -s
-s 顯示伺服器選項
$ tmux show -g
-g 沒有其他的旗標為顯式全域會話選項
$ tmux show -wg
-w 和 -g 一起為顯示全域窗口選項
$ tmux show -g status
指定顯示 status 選項
改變選項
set -g status off
設定狀態欄選項關閉
set -s default-terminal 'tmux-256color'
設定預設終端選項
set -gu status
-u 變成未設置選項,未設置選項會恢復成預設值
顏色和風格
set -g status-style 'bg=blue'
設定狀態欄背景的顏色為藍色
剩下的風格項目寫在手冊裡
有用選項列表
除了樣式選項,這是最常用的 tmux 選項的簡短列表:
選項
類型
描述
base-index
會話
如果設定,則窗口索引從 base-index 開始而不是從0
buffer-limit
伺服器
保留的最大自動緩衝區數,預設值為50
default-terminal
伺服器
tmux 中 TERM 環境變數的預設值
display-panes-time
窗口
C-b q
以毫秒為單位的時間顯示的窗格號
display-time
會話
狀態欄上顯示訊息的時間(以毫秒為單位)
escape-time
伺服器
tmux 收到 Escape 鍵後等待的時間 以查看它是否是較長鍵序列的一部分
focus-events
伺服器
tmux 是否發送焦點鍵序列,當活動窗格更改時 以及是否從外部終端接收(如果支持)
history-limit
會話
每個窗格的歷史記錄中保留的最大行數
mode-keys
窗口
在復制模式下使用 emacs(1)還是 vi(1) 鍵綁定
mouse
會話
如果啟用了游標
pane-border-status
窗口
狀態欄是否出現在每個窗格邊框中:頂部或底部
prefix
會話
前綴鍵,預設為 C-b
remain-on-exit
窗口
程序在運行離開時是否自動殺死窗格
renumber-windows
會話
如果 on(開),則窗口將自動重新編號 以填補窗口列表中的所有間隙
set-clipboard
會話
當複製文本和外部終端支持時
tmux 是否應嘗試設定外部 X(7) 剪貼板
set-titles
會話
如果 on,tmux 將設定外部終端的標題
status
會話
狀態行是否可見
status-keys
會話
在命令提示字元下是否使用 emacs(1) 或 vi(1) 鍵綁定
status-interval
會話
重畫狀態行之前的最長時間(以秒為單位)
status-position
會話
狀態行的位置:頂部或底部
synchronize-panes
窗口
如果 on,則將在窗口中的任何窗格中鍵入的內容 發送到窗口中的所有窗格 - 請謹慎使用此選項!
terminal-overrides
會話
tmux 的任何功能都應從為外部終端指定的 TERM 中覆蓋
樣式和格式選項列表
這是最常用的 tmux 樣式和格式選項列表:
選項
類型
描述
display-panes-active-colour
會話
C-b q
活動窗格編號的樣式
display-panes-colour
會話
C-b q
除了活動窗格的
窗格編號的樣式
message-style
會話
狀態行和命令提示字元上顯示的訊息樣式
mode-style
窗口
在複製模式選取的樣式
pane-active-border-style
窗口
活動窗格邊框的樣式
pane-border-format
窗口
如果設定了 panel-border-status 則文本格式顯示在窗格邊框狀態行中的
pane-border-style
窗口
除了活動窗格的窗格邊框的樣式
status-left-length
會話
狀態行左側的最大長度
status-left-style
會話
狀態行左側的樣式
status-left
會話
狀態行左側的文本格式
status-right-length
會話
狀態行右側的最大長度
status-right-style
會話
狀態行右側的樣式
status-right
會話
狀態行右側的文本格式
status-style
會話
狀態行整體的樣式,部分可能會被更具體的選項覆蓋,像是 status-left-style
window-active-style
窗口
窗口活動窗格中預設顏色的樣式
window-status-current-format
窗口
窗口列表中當前窗口的格式
window-status-current-style
窗口
窗口列表中當前窗口的樣式
window-status-format
窗口
除當前窗口外,窗口列表中窗口的格式
window-status-separator
窗口
窗口列表中窗口之間的分隔字元
window-status-style
窗口
除當前窗口外,窗口列表中窗口的樣式
window-style
窗口
除了活動窗格以外,窗口中窗格的預設顏色樣式
常見配置更改
.tmux.conf 常見的配置更改
更改前綴鍵
將 C-b 前綴鍵改成 C-a
自定義狀態行
set -g status off
關閉狀態行
set -g status-position top
將狀態行移到頂部
set -g status-style bg=red
將背景色設定為紅色
set -g status-right '%H:%M'
將右側的文本更改為僅有時間
set -g window-status-current-style 'underscore'
在當前窗口下劃線
配置窗格邊框
可以設定窗格的邊框顏色
可以為每個窗格分配一個帶有 panel-border-status
選項的狀態行,例如以粗體顯示窗格標題
vi(1)鍵綁定
mode-keys 複製模式使用 vi 鍵
status-keys 命令提示使用 vi 鍵
滑鼠複製行為
unbind -Tcopy-mode MouseDragEnd1Pane
釋放滑鼠時,不複製或清除選擇內容或退出複制模式。
必須使用鍵盤來複製選取
bind -Tcopy-mode MouseDragEnd1Pane send -X copy-selection
複製並清除選取,但不退出複制模式
bind -Tcopy-mode MouseDragEnd1Pane send -X copy-selection-no-clear
複製但不清除選取
Last updated