前言
不放假的节日我从来不过~ ????
介绍
tmux 是一个Unix中的一个终端复用工具,简单来说就是允许你在一个屏幕中创建多个终端,如下图所示:
tmux 中有如下几个概念:
会话 (session):tmux 管理的一些伪终端的集合。
窗口 (window):在一个会话中可以创建多个窗口。当会话中的所有窗口被关闭时,会话也会自动关闭。
面板 (panel):在一个窗口中可以创建多个面板,每一个面板都是伪终端。
上图中,显示了一个会话(左下角 [0] 表示当前是第1个会话),会话中有两个窗口(左下角 0: bash* 表示当前是第一个窗口),当前窗口中有4个面板。
使用tmux命令就创建了一个会话,此时只有一个窗口,窗口中只有一个面板。如下图所示:tmux 有个重要的特性就是在里面执行的命令,在退出会话时,命令不会中断,而会在后台继续运行。在进入会话后,仍可以看到命令正在执行。
常用命令
-
tmux,创建一个会话。 -
tmux ls,查看所有的会话。 -
tmux attach -t 0,进入第一个会话。 -
tmux kill-session -t 0,强制关闭第一个会话。在会话中执行的程序都会退出。
常用快捷键
tmux 中的所有快捷键都有一个前置键(默认是 ctrl+b),在输入快捷键前必须输入前置键,再输入相应功能的快捷键。常用的快捷键如下:
基本
-
?,显示所有快捷键。 -
:,进入命令模式,可以执行一些命令。
会话
-
$,重命名会话。 -
(,切换到前一个会话。 -
),切换到后一个会话。 -
s,交互式地选择切换到一个会话。 -
d,退出当前会话。
窗口
-
c,创建一个窗口。 -
,,重命名窗口。 -
&,关闭窗口。 -
n,切换到下一个窗口。 -
p,切换到上一个窗口。 -
w,交互式地选择切换到一个窗口。 - 数字0到9,选择数字编号指定的窗口。
面板
-
",将面板水平分割成两个大小相同的面板。 -
%,将面板垂直分割成两个大小相同的面板。 - 方向键,**选择的面板。
-
Esc+方向键,调整面板大小。 -
{,将当前面板与前一个面板交换位置。 -
},将当前面板与后一个面板交换位置。 - 空格键,切换到下一个面板布局。
-
!,将当前面板分离出来放到一个新的窗口。 -
q,显示每个面板的编号。 -
x,关闭当前面板。
内容浏览
面板输出的内容有限,没有滚动栏,若想查看历史输出内容则需要进入复制模式。
进入复制模式的快捷键是[。
进入复制模式后,按 PgUp 和 PgDn 按键翻页浏览历史内容。
按q退出复制模式。
进入复制模式之前,可以先进入命令模式,输入如下命令将复制模式工作模式设置为vi:set-window-option -g mode-keys vi
这样就可以使用vi中的:,?,\,n等快捷键了。