Tmux 常用操作
Intro
Tmux,全称为 terminal multiplexer,其功能不必多言。
tmux 分为三个层次:session (会话), window (窗口), pane (面板)。其没有严格的使用区分,只涉及到生命周期和从属关系,可以根据需求和使用习惯进行分配使用。
常用命令和快捷键
session 操作
new 操作:新建 session
-
不需要指定名字,随便新建一个:
tmux
或者:
tmux new
-
新建并取名
tmux new -s name
detatch 操作:从 session 中脱离返回 terminal
Ctrl B + D
attach 操作:从 terminal 进入 detatched session
-
查看当前所有 session
tmux ls
-
指定 session 名字进入
tmux a -t name
如果直接
tmux a
会默认 attach 最近的 session
kill 操作:永久 kill session
-
在 session 内部 kill 当前 session
Ctrl D
-
在 terminal kill 指定 session
tmux kill-session -t name
同理,如果直接
tmux kill-session
会默认 kill 最近的 session -
在 terminal kill 所有存在的 session
tmux kill-server
rename 操作:重命名 session
-
在 session 内部 rename current session
Ctrl B + $
然后输入新的名字
-
在 terminal rename certain session
tmux rename-session -t old_name new_name
同理,如果不指定 -t 直接
tmux rename-session new_name
会默认 rename 最近的 session
window 操作
window 是从属于某个 session 的界面,创建 session 时会默认创建一个 window
new 操作:新建 window
在 session 内部,
Ctrl B + C
不同 window 之间切换
-
下一个
Ctrl B + N
-
上一个
Ctrl B + P
-
根据 window 的序号进行切换
Ctrl B + 0/1/2/...
-
显示全局所有 window 信息并通过方向键+回车切换:
Ctrl B + W
rename 操作:重命名 window
Ctrl B + ,
kill 操作:kill window
Ctrl B + &
Pane 操作
pane 是从属于 window 的面板,一个 window 可以切分成多个 pane
new 操作:新建 pane
-
左右切分面板
Ctrl B + %
-
上下切分面板
Ctrl B + ""
pane 之间切换
-
方向键切换
Ctrl B + 方向键
-
根据序号切换
查看序号索引:
Ctrl B + Q
根据序号进行切换:
Ctrl B + Q + 0/1/2/...
kill 操作:kill pane
Ctrl B + X
多窗格同步输入
Ctrl B : set synchronize-panes
多个窗格同步输入切换,设置一次同步输入,再设置一次关闭同步输入
Configuration
在 tmux 中启用鼠标
在默认的 tmux 中,鼠标使用受到了很大的限制,包括滚轮、滑动选中都无法正常使用,因此需要在配置文件中启用鼠标控制。
-
打开(新建)配置文件:
vi ~/.tmux.conf
-
启用鼠标,写入配置文件:
set -g mouse on setw -g mode-keys vi
第一条配置是启用鼠标,第二条是启用 vim 风格的复制模式,可以方便进行复制粘贴。此时用鼠标滚轮选中 tmux 中的任何输出就会默认复制到剪贴板。
绑定快捷键
比如多窗格同步输入命令太长了,就可以使用绑定快捷键实现简单的命令
vim ~/.tmux.conf
bind-key s setw synchronize-panes
source ~/.tmux.conf
让快捷键 Ctrl B + S 快捷键来实现窗格同步输入的切换。