# vim /etc/tmux.conf set -g prefix ^g # Ctrl+g 激活控制檯,(默認Ctrl+b) unbind ^b # 解綁 Ctrl+b set-option -g status-utf8 on # 開啓狀態欄的UTF-8支持 # cp mode set-window-option -g mode-keys vi # 複製模式中的默認鍵盤佈局使用 vi bind h select-pane -L # h 等於向左移動光標 bind j select-pane -D # j 向下移動光標 bind k select-pane -U # k 向上移動光標 bind l select-pane -R # l 向右移動光標
tmux 默認使用的是Ctrl+b,之所以改成Ctrl+g是因爲Ctrl+b在 Bash 環境裏是向左移動光標. 現在 tmux 和 vim 操作一樣了,複製時候也可以用 h、j、k、l 來移動光標。
使用 Tmux Tmux 完全依靠快捷鍵來使用它的功能,而剛纔設置的Ctrl+g是這些功能的前提,例如打開一個時鐘:Ctrl + g + t 按鍵的時候要先按Ctrl+g後鬆開Ctrl和g鍵後,快速按出t 打開 Tmux:
# tmux 按 Ctrl+g 後鬆開在按 t 會在終端裏出現一個數字時鐘
說的是 tmux 的功能無非就是 Ctrl + g + 一些功能的鍵而已,所有的按鍵方式和上面的時鐘例子一樣。
獲取 Tmux 幫助 按 Ctrl + g + ? (問號等於:Shift + /)會出現 Tmux 的幫助信息, 信息中 ‘bind-key’ 說的就是 Ctrl + g, 或者直接 man tmux。
Tmux 常用功能 1. 分割終端窗口
Ctrl+g + " 在光標當前所在窗口,橫向分割出一個窗口 Ctrl+g + % 在光標當前所在窗口,豎向分割出一個窗口 Ctrl+g + h ............ ,跳轉光標到左邊的窗口 Ctrl+g + j ............ ,跳轉光標到下邊的窗口 Ctrl+g + k ............ ,跳轉光標到上邊的窗口 Ctrl+g + j ............ ,跳轉光標到右邊的窗口 Ctrl+g + ! 關閉所有分割出來的窗口 Ctrl+g + x 關閉光標當前所在窗口。(或直接Ctrl+d) Ctrl+g + { 向前置換當前面板 Ctrl+g + } 向後置換當前面板 Ctrl+g + q 查詢面板編號
創建新的窗口:
一個終端裏開了多個小窗口,還是不夠用? Ctrl+g + c 創建一個新的窗口 Ctrl+g + p 切換到上一個窗口 Ctrl+g + n 切換到下一個窗口 Ctrl+g + w 列出目前所創建的窗口,能看到窗口編號,在按編號直接切換窗口,見圖2Ctrl+g + 0-9 直接切換到指定編號的窗口 Ctrl+g + , 修改當前窗口名字,見圖3Ctrl+g + d 臨時斷開所有的會話,用命令# tmux attach 恢復會話
當你臨時斷開多個 tmux 會話時候,可以指定恢復某個會話:
# tmux ls #查看所有會話 0: 4 windows (created Tue Jan 22 00:42:16 2013) [177x48] 1: 1 windows (created Tue Jan 22 00:51:30 2013) [177x48]
恢復第一個會話:
# tmux a -t 0
看窗口歷史記錄 在小窗口做一些操作時候,輸出內容太多,如何回滾呢?
Ctrl+g + PgUP 向上回滾 Ctrl+g + PgDn 向下翻滾
在終端窗口裏複製 在一個終端裏分割了多個小窗口,你可能會在一個小窗口裏複製一些代碼或命令行到另外一個小窗口,這時你用小紅點、鼠標、觸摸板是無法勝任的。它把整個終端窗口當作是複製區域對象,而不隔離小窗口複製。
Ctrl+g [ 進入複製模式,移動光標到要複製文本區域後,按空格鍵開始選擇要複製的內容, 利用h、j、k、l、$、0等(和vim中操作一樣),按回車確認選中的內容。 Ctrl+g ] 粘貼