终端复用器 - tmux

tmux是一个可以在后台运行终端,也可以拆分终端的终端管理器。

[toc]

tmux - 终端复用器

tmux简述

我们在使用终端的时候,若终端退出,那么终端的历史记录以及当前运行的程序等也就丢失了。tmux可以将终端以另一种逻辑管理,tmux可以将新建的终端进行命名、后台运行等,并可以灵活地切换tmux终端。想让你退出ssh的时候保留终端吗?那就使用tmux吧。

tmux还可以将一个终端划分为多个窗口,在同一个画面上显示多个终端。想在调试的时候免去切换来切换去的烦恼吗?那就使用tmux吧。

本文将简要介绍上述两个功能,称为终端管理和窗口切割。

安装

1
apt install tmux

tmux前缀键

tmux中,快捷键需要先按下ctrl+b再松开,然后再输入另一个键才可以生效。这里所说的ctrl+b也就是前缀键。

tmux的快捷键只能在tmux终端中使用,因此至少需要创建一个tmux终端才能使用。例如在bash中就是无法使用的。

终端管理

新建会话

创建一个名为session_name的窗口。

1
tmux new -s <session_name>

实际上,直接在终端中输入tmux也可以创建一个tmux终端,它的名字默认是从0开始按顺序增长。

在新建的终端中,输入exit将会退出tmux终端。

可以对tmux终端进行重命名:

1
tmux rename-session -t <old_name> <new_name>

也有快捷键方式:

1
ctrl+b $

挂起tmux终端

需要先创建tmux终端后在tmux终端中进行。

1
tmux detach

输入该命令后,将会后台运行此tmux终端。

快捷键方式为:

1
ctrl+b d

列出tmux终端

可以通过以下命令来查看目前所有的tmux终端:

1
2
tmux ls
tmux list-session

快捷键方式为:

1
ctrl+b s

重新进入挂起的tmux终端

重新进入后台运行的tmux终端的方式如下:

1
tmux attach -t <session_name>

-t表示target

tmux终端间切换

可以使用以下命令进行tmux终端间的切换:

1
tmux switch -t <session_name>

窗口切割

划分窗口

直接输入命令,默认划分上下两个窗口

1
tmux split-window

也可以划分左右两个窗口

1
tmux split-window -h

快捷键方式:

1
2
ctrl+b " # 划分上下两个窗口 注意这里是双引号
ctrl+b % # 划分左右两个窗口

移动光标

很简单 up down left right

1
2
3
4
tmux select-pane -U # 向上移动光标
tmux select-pane -D # 向下移动光标
tmux select-pane -L # 向左移动光标
tmux select-pane -R # 向右移动光标

快捷键方式:

1
2
3
ctrl+b <arrow_keys>
# 例如,向右:
ctrl+b

鼠标模式

tmux终端中可能会遇到一些问题,包括无法使用鼠标滚轮来翻动窗口内容等。可以使用以下方式打开鼠标模式:

1
2
ctrl+b :
setw -g mouse on

后记

tmux还有很多功能,但是个人不怎么用就不记录了,包括交换窗格位置、窗口管理(同一个窗口中的两个终端可以分别全屏)等。还有一些很优秀的终端管理器,例如byoduscreen等,可以自行了解。


终端复用器 - tmux
http://example.com/2023/08/18/工具使用/tmux/
作者
Ltfall
发布于
2023年8月18日
许可协议