Tmux是很強大的一個終端工具。
在接觸它的時候項目需要實現(xiàn)自動分屏棺榔,但它的文檔和使用教程都只介紹了如何用快捷鍵分屏操作。后面試過模擬鍵盤進行操作來自動分屏,但模擬的鍵盤很容易出現(xiàn)bug胶哲,所以想要實現(xiàn)精準(zhǔn)的控制自動分出想要的布局,只能通過指令來實現(xiàn)潭辈。
這里只介紹tmux的分屏(pane)有關(guān)的指令:
左右分屏: tmux split-pane -h? 對應(yīng)快捷鍵: Ctrl+b????%
上下分屏:tmux spilt-pane -v? ? ?對應(yīng)快捷鍵: Ctrl+b????"
查看各個分屏(pane)的編號: 快捷鍵: Ctrl + b????q
選擇指定 pane :確定編號后(這里假設(shè)要選擇0號pane): tmux? select-pane -t 編號
關(guān)閉分屏: 快捷鍵 Ctrl + b? ? x
設(shè)置pane的尺寸:resize-pane -t 編號 -x width -y width? ?快捷鍵:Ctrl+b? 方向鍵
下面為網(wǎng)上能搜索到的一些基本指令:
vi emacs 功能
^? ? ? ? ? ? ? M-m? ? ? ? ? 反縮進
Escape? ? ? ? C-g? ? ? ? ? 清除選定內(nèi)容
Enter? ? ? ? ? M-w? ? ? ? ? 復(fù)制選定內(nèi)容
j? ? ? ? ? ? ? Down? ? ? ? 光標(biāo)下移
h? ? ? ? ? ? ? Left? ? ? ? 光標(biāo)左移
l? ? ? ? ? ? ? Right? ? ? ? 光標(biāo)右移
L? ? ? ? ? ? ? ? ? ? ? ? ? 光標(biāo)移到尾行
M? ? ? ? ? ? ? M-r? ? ? ? ? 光標(biāo)移到中間行
H? ? ? ? ? ? ? M-R? ? ? ? ? 光標(biāo)移到首行
k? ? ? ? ? ? ? Up? ? ? ? ? 光標(biāo)上移
d? ? ? ? ? ? ? C-u? ? ? ? ? 刪除整行
D? ? ? ? ? ? ? C-k? ? ? ? ? 刪除到行末
$? ? ? ? ? ? ? C-e? ? ? ? ? 移到行尾
:? ? ? ? ? ? ? g? ? ? ? ? ? 前往指定行
C-d? ? ? ? ? ? M-Down? ? ? 向下滾動半屏
C-u? ? ? ? ? ? M-Up? ? ? ? 向上滾動半屏
C-f? ? ? ? ? ? Page down? ? 下一頁
w? ? ? ? ? ? ? M-f? ? ? ? ? 下一個詞
p? ? ? ? ? ? ? C-y? ? ? ? ? 粘貼
C-b? ? ? ? ? ? Page up? ? ? 上一頁
b? ? ? ? ? ? ? M-b? ? ? ? ? 上一個詞
q? ? ? ? ? ? ? Escape? ? ? 退出
C-Down or J? ? C-Down? ? ? 向下翻
C-Up or K? ? ? C-Up? ? ? ? 向下翻
n? ? ? ? ? ? ? n? ? ? ? ? ? 繼續(xù)搜索
?? ? ? ? ? ? ? C-r? ? ? ? ? 向前搜索
/? ? ? ? ? ? ? C-s? ? ? ? ? 向后搜索
0? ? ? ? ? ? ? C-a? ? ? ? ? 移到行首
Space? ? ? ? ? C-Space? ? ? 開始選中
?C-t? ? ? ? ? 字符調(diào)序
啟動新會話:
tmux [new -s 會話名 -n 窗口名]
恢復(fù)會話:
tmux at [-t 會話名]
列出所有會話:
tmux ls
tmux kill-session -t 會話名
tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0,
length($1)-1)}' | xargs kill
調(diào)整窗口排序
swap-window -s 3 -t 1? 交換 3 號和 1 號窗口
swap-window -t 1? ? ? 交換當(dāng)前和 1 號窗口
move-window -t 1? ? ? 移動當(dāng)前窗口到 1 號