在 Linux 终端下工作,没有一个好用的分屏工具的话,码农的生产力可是要大打折扣的,一个好用的分屏工具,可以保持工作的连贯性,随时可恢复上次离开时的工作环境,而 tmux 就是分屏工具中的翘楚。
tmux 命令
tmux 的前导按键
# prefix
Ctrl + b
新建 session
tmux
tmux new
tmux new-session
# tmux 内
:new
新建名称为 mysession 的 session
tmux new -s mysession
# tmux 内
:new -s mysession
列出 session
tmux ls
tmux list-session
# tmux 内
prefix s
Attach 到上一个 session
tmux a
tmux at
tmux attach
tmux attach-session
Attach 到名为 mysession 的 session
tmux a -t mysession
tmux at -t mysession
tmux attach -t mysession
tmux attach-session -t mysession
预览 session 和 window
<prefix> w
重命名 session
<prefix> $
Detach session
<prefix> d
:attach -d
操作 Window 和 Pane
将一个窗口作为pane合并到另一个窗口
tmux 中的 session, window 和 pane 以 session:window.pane
的格式来表示。例如:mysession:1.1
或mysession:mywindow.1
以下命令将一个窗口作为pane合并到另一窗口
# 将窗口 1 合并到当前窗口
join-pane -s :1
# 将当前窗口合并到窗口 1,并排列在上面
join-pane -b -t :1
以下命令将一个窗口内的pane分离为一个单独的窗口
break-pane
break-pane -t :
break-pane
命令在 tmux 里的默认快捷键是 c-b !
,而 @
在键盘上靠近 !
符号,所以可以将 c-a @
作为 join-pane
命令的快捷键,在 tmux.conf.local 里加入如下按键绑定:
# join pane to other tmux window
bind-key @ command-prompt -p "join pane to:" "join-pane -b -t ':%%'"
调换窗口的顺序
使用 Ctrl-b :
进入 tmux 命令行,执行 swap-window -s 1 -t 2
,该命令将窗口1与窗口2互换位置。
打印 unicode 代码对应的字符
printf '%b\n' '\ue0b0\ue0b1\ue0b2\ue0b3'