Linux tmux使用总结

文章目录

  • 1 tmux介绍
  • 2 tmux概念
    • 会话Sessions、窗口Windows、面板Panes
    • status line中字段含义
  • 3 Sessions会话管理
    • 新建会话
    • 断开当前会话
    • 进入之前的会话
    • 关闭会话
    • 查看所有的会话
  • 4 tmux快捷指令
    • 系统指令
    • 窗口(Windows)指令
    • 面板(Panes)指令
  • 5 配置文件
  • 参考

1 tmux介绍

tmux是在终端中运行的程序,并且允许多个其它终端程序在其内部运行。tmux内部的每个程序都有自己的终端,由tmux管理,可以从运行tmux的单个终端访问-这称为多路复用,tmux是终端多路复用器(terminal multiplexer)。

下面是一个在Windows Terimal中运行WSL,tmux的运行截图:

Linux tmux使用总结_第1张图片

2 tmux概念

会话Sessions、窗口Windows、面板Panes

Linux tmux使用总结_第2张图片

  • 程序在面板中的终端中运行,每个面板属于一个窗口。
  • 每个窗口都有一个名称和一个活动面板。
  • 窗口链接到一个或多个会话。
  • 每个会话都有一个窗口列表,每个窗口都有一个索引。
  • 会话中的一个窗口是当前窗口。
  • 一个会话可以有多个客户端连接
  • 每个客户端连接到一个会话。

status line中字段含义

Linux tmux使用总结_第3张图片

3 Sessions会话管理

新建会话

tmux # 新建一个默认会话
tmux new -s newsession # 指定会话名称为newsession

断开当前会话

tmux detach # 断开当前会话,会话在后台运行

进入之前的会话

tmux a # 默认进入第一个会话
tmux a -t demo # 进入到名称为demo的会话

关闭会话

tmux kill-session -t demo # 关闭demo会话
tmux kill-server # 关闭服务器,所有的会话都将关闭

查看所有的会话

tmux list-session # 查看所有会话
tmux ls # 查看所有会话,提倡使用简写形式

4 tmux快捷指令

系统指令

前缀 指令 描述
Ctrl+b ? 显示快捷键帮助文档
Ctrl+b d 断开当前会话
Ctrl+b D 选择要断开的会话
Ctrl+b Ctrl+z 挂起当前会话
Ctrl+b r 强制重载当前会话
Ctrl+b s 显示会话列表用于选择并切换
Ctrl+b : 进入命令行模式,此时可直接输入ls等命令
Ctrl+b [ 进入复制模式,按q退出
Ctrl+b ] 粘贴复制模式中复制的文本
Ctrl+b ~ 列出提示信息缓存

窗口(Windows)指令

前缀 指令 描述
Ctrl+b c 新建窗口
Ctrl+b & 关闭当前窗口(关闭前需输入y or n确认)
Ctrl+b 0~9 切换到指定窗口
Ctrl+b p 切换到上一窗口
Ctrl+b n 切换到下一窗口
Ctrl+b w 打开窗口列表,用于且切换窗口
Ctrl+b , 重命名当前窗口
Ctrl+b . 修改当前窗口编号(适用于窗口重新排序)
Ctrl+b f 快速定位到窗口(输入关键字匹配窗口名称)

面板(Panes)指令

前缀 指令 描述
Ctrl+b " 当前面板上下一分为二,下侧新建面板
Ctrl+b % 当前面板左右一分为二,右侧新建面板
Ctrl+b x 关闭当前面板(关闭前需输入y or n确认)
Ctrl+b z 最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
Ctrl+b ! 将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
Ctrl+b ; 切换到最后一次使用的面板
Ctrl+b q 显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
Ctrl+b { 向前置换当前面板
Ctrl+b } 向后置换当前面板
Ctrl+b Ctrl+o 顺时针旋转当前窗口中的所有面板
Ctrl+b 方向键 移动光标切换面板
Ctrl+b o 选择下一面板
Ctrl+b 空格键 在自带的面板布局中循环切换
Ctrl+b Alt+方向键 以5个单元格为单位调整当前面板边缘
Ctrl+b Ctrl+方向键 以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖)
Ctrl+b t 显示时钟

下面是一个例子,有3个窗口,其中一个窗口里面有两个面板。

Linux tmux使用总结_第4张图片

5 配置文件

如果要在tmux中实现鼠标选择面板、滚屏等操作,可以新建~/.tmux.conf文件,

vim ~/.tmux.conf

文件中写入以下内容:

set -g mouse on # 开启鼠标支持
set -g mode-keys vi # 开启vi风格后,支持vi的C-d、C-u、hjkl等快捷键

参考

  • https://github.com/tmux/tmux/wiki
  • https://louiszhai.github.io/2017/09/30/tmux/

你可能感兴趣的:(Linux,开发工具,linux,服务器,运维,tmux)