tmux是一款優秀的終端復用軟件。tmux采用C/S模型構建,輸入tmux命令就相當於開啟了一個服務器,此時默認將新建一個會話,然后會話中默認新建一個窗口,窗口中默認新建一個面板。
一個tmux session
(會話)可以包含多個window
(窗口),窗口默認充滿會話界面,因此這些窗口中可以運行相關性不大的任務。
一個window
又可以包含多個pane
(面板),窗口下的面板,都處於同一界面下,這些面板適合運行相關性高的任務,以便同時觀察到它們的運行情況。
基本使用方式
$~ tmux ##開啟一個tmux會話
$~ Ctrl+b % ##將當前面板左右一分為二,右側新建面板
$~ Ctrl+b " ##將當前面板上下一分為二,下側新建面板
$~ Ctrl+b d ##斷開當前會話
會話
新建一個會話
tmux # 新建一個無名稱的會話
tmux new -s demo # 新建一個名稱為demo的會話
斷開當前會話
使用快捷鍵組合Ctrl+b
+ d
,三次按鍵就可以斷開當前會話。
進入之前的會話
tmux a # 默認進入第一個會話
tmux a -t demo # 進入到名稱為demo的會話
關閉會話
tmux kill-session -t demo # 關閉demo會話
tmux kill-server # 關閉服務器,所有的會話都將關閉
查看所有的會話
tmux list-session # 查看所有會話
tmux ls # 查看所有會話,提倡使用簡寫形式
當進入一個會話后可以使用快捷鍵組合Ctrl+b
+ s
,在會話列表,按上下鍵或者鼠標滾輪,可選中目標會話,按左右鍵可收起或展開會話的窗口,選中目標會話或窗口后,按回車鍵即可完成切換。
自定義 tmux
tmux的用戶級配置文件為~/.tmux.conf
(沒有的話就創建一個)。比如說可以將默認的快捷鍵組合Ctrl+b
修改為更加方便的Ctrl+a
這樣的組合。
set -g prefix C-a
unbind C-b # C-b即Ctrl+b鍵,unbind意味着解除綁定
bind C-a send-prefix # 綁定Ctrl+a為新的指令前綴
開啟鼠標支持
set-option -g mouse on
該配置對於tmux v2.1及以上版本有效,支持鼠標選取文本、支持鼠標拖動調整面板的大小、支持鼠標選中並切換面板以及支持鼠標選中並切換窗口。不過平時在使用終端的時候絕大部分還是以鍵盤為主,鼠標僅僅只能夠起到輔助作用。
快速切換
tmux默認的切換面板是通過快捷鍵組合Ctrl+b
+ 方向鍵
,來切換不同的面板或者窗口,有的時候鍵盤上面不一定有方向鍵,我更加傾向於使用Vim的j
,k
,h
,l
四個鍵作為方向鍵,我們只需要修改一下~/.tmux.conf
即可實現想要的功能。
# 綁定hjkl鍵為面板切換的上下左右鍵
bind -r k select-pane -U # 綁定k為↑
bind -r j select-pane -D # 綁定j為↓
bind -r h select-pane -L # 綁定h為←
bind -r l select-pane -R # 綁定l為→
本文由個人 hexo 博客 co2fe.com 遷移
date: 2018-08-17 14:02:48