分屏神器 TMUX

 

在 Linux 终端下工作,没有一个好用的分屏工具的话,码农的生产力可是要大打折扣的,一个好用的分屏工具,可以保持工作的连贯性,随时可恢复上次离开时的工作环境,而 tmux 就是分屏工具中的翘楚。

tmux 命令

tmux 的前导按键

# prefix
Ctrl + b

tmux cheatsheet

新建 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, windowpanesession:window.pane 的格式来表示。例如:mysession:1.1mysession: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'