tmux基本使用方法

时间:2022-01-17 08:39:38

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