tmux是一款优秀的终端复用软件。tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务器,此时默认将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。
一个tmux session
(会话)可以包含多个window
(窗口),窗口默认充满会话界面,因此这些窗口中可以运行相关性不大的任务。
一个window
又可以包含多个pane
(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。
基本使用方式
$~ tmux ##开启一个tmux会话
$~ Ctrl+b % ##将当前面板左右一分为二,右侧新建面板
$~ Ctrl+b " ##将当前面板上下一分为二,下侧新建面板
$~ Ctrl+b d ##断开当前会话
会话
新建一个会话
tmux # 新建一个无名称的会话
tmux new -s demo # 新建一个名称为demo的会话
断开当前会话
使用快捷键组合Ctrl+b
+ d
,三次按键就可以断开当前会话。
进入之前的会话
tmux a # 默认进入第一个会话
tmux a -t demo # 进入到名称为demo的会话
关闭会话
tmux kill-session -t demo # 关闭demo会话
tmux kill-server # 关闭服务器,所有的会话都将关闭
查看所有的会话
tmux list-session # 查看所有会话
tmux ls # 查看所有会话,提倡使用简写形式
当进入一个会话后可以使用快捷键组合Ctrl+b
+ s
,在会话列表,按上下键或者鼠标滚轮,可选中目标会话,按左右键可收起或展开会话的窗口,选中目标会话或窗口后,按回车键即可完成切换。
自定义 tmux
tmux的用户级配置文件为~/.tmux.conf
(没有的话就创建一个)。比如说可以将默认的快捷键组合Ctrl+b
修改为更加方便的Ctrl+a
这样的组合。
set -g prefix C-a
unbind C-b # C-b即Ctrl+b键,unbind意味着解除绑定
bind C-a send-prefix # 绑定Ctrl+a为新的指令前缀
开启鼠标支持
set-option -g mouse on
该配置对于tmux v2.1及以上版本有效,支持鼠标选取文本、支持鼠标拖动调整面板的大小、支持鼠标选中并切换面板以及支持鼠标选中并切换窗口。不过平时在使用终端的时候绝大部分还是以键盘为主,鼠标仅仅只能够起到辅助作用。
快速切换
tmux默认的切换面板是通过快捷键组合Ctrl+b
+ 方向键
,来切换不同的面板或者窗口,有的时候键盘上面不一定有方向键,我更加倾向于使用Vim的j
,k
,h
,l
四个键作为方向键,我们只需要修改一下~/.tmux.conf
即可实现想要的功能。
# 绑定hjkl键为面板切换的上下左右键
bind -r k select-pane -U # 绑定k为↑
bind -r j select-pane -D # 绑定j为↓
bind -r h select-pane -L # 绑定h为←
bind -r l select-pane -R # 绑定l为→
本文由个人 hexo 博客 co2fe.com 迁移
date: 2018-08-17 14:02:48