Tmux 是一个终端复用工具,和 screen 一样,screen 相对简单好使,tmux 更高级。
安装
1 2 3 4 5
| yum install -y tmux
brew install tmux
|
基本操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| tmux
tmux new -s demo
tmux detach
tmux a
tmux a -t demo
tmux kill-session -t demo
tmux kill-server
tmux list-session tmux ls
tmux switch -t 0 tmux switch -t demo
tmux rename-session -t demo new-demo
|
系统指令
前缀 |
指令 |
描述 |
prefix |
? |
显示快捷键帮助文档 |
prefix |
d |
断开当前会话 |
prefix |
D |
选择要断开的会话 |
prefix |
Ctrl+z |
挂起当前会话 |
prefix |
r |
强制重载当前会话 |
prefix |
s |
显示会话列表用于选择并切换 |
prefix |
: |
进入命令行模式 |
prefix |
[ |
进入复制模式,按q退出 |
prefix |
] |
粘贴复制模式中复制的文本 |
prefix |
~ |
列出提示信息缓存 |
窗口指令
前缀 |
指令 |
描述 |
prefix |
c |
新建窗口 |
prefix |
& |
关闭当前窗口(关闭前需输入y or n确认) |
prefix |
0-9 |
切换到指定窗口 |
prefix |
p |
切换到上一窗口 |
prefix |
n |
切换到下一窗口 |
prefix |
w |
打开窗口列表,用于且切换窗口 |
prefix |
, |
重命名当前窗口 |
prefix |
. |
修改当前窗口编号(适用于窗口重新排序) |
prefix |
f |
快速定位到窗口(输入关键字匹配窗口名称) |
面板指令
前缀 |
指令 |
描述 |
prefix |
“ |
当前面板上下一分为二,下侧新建面板 |
prefix |
% |
当前面板左右一分为二,右侧新建面板 |
prefix |
x |
关闭当前面板(关闭前需输入y or n确认) |
prefix |
z |
最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增) |
prefix |
! |
将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效) |
prefix |
; |
切换到最后一次使用的面板 |
prefix |
q |
显示面板编号,在编号消失前输入对应的数字可切换到相应的面板 |
prefix |
{ |
向前置换当前面板 |
prefix |
} |
向后置换当前面板 |
prefix |
Ctrl+o |
顺时针旋转当前窗口中的所有面板 |
prefix |
方向键 |
移动光标切换面板 |
prefix |
o |
选择下一面板 |
prefix |
空格键 |
在自带的面板布局中循环切换 |
prefix |
Alt+方向键 |
以5个单元格为单位调整当前面板边缘 |
prefix |
Ctrl+方向键 |
以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖) |
prefix |
t |
显示时钟 |
自定义配置
编辑 ~/.tmux.conf 添加如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| # prefix configuration set -g prefix C-a unbind C-b bind C-a send-prefix
# split window unbind '"' bind - split-window -v -c '#{pane_current_path}' unbind % bind = split-window -h -c '#{pane_current_path}'
# mouse on set-option -g mouse on
# pane navigation bind -r k select-pane -U bind -r j select-pane -D bind -r h select-pane -L bind -r l select-pane -R
# pane resizing bind -r ^k resize-pane -U 2 bind -r ^j resize-pane -D 2 bind -r ^h resize-pane -L 2 bind -r ^l resize-pane -R 2
# reload configuration bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'
|