--- layout: post title: "Tmux 的使用" subtitle: "" description: "对 Tmux 的基本用法进行说明。" excerpt: "Tmux 的 session 可在远端连接断开后继续保持运行。本文阐述了如何用 Tmux 创建和连接 session,以及如何使用 Tmux 快捷键。" date: 2020-01-15 17:22:00 author: "Rick Chan" tags: ["Applications", "Tmux"] categories: ["Software"] published: true --- ## 基本使用 tmux 可在远程登录的情况下保证链接断开后程序仍然能在后台保持运行。tmux 会保持运行,并且成为宿主程序。 使用 tmux 新建一个 session 的命令如下: ```bash tmux new -s ``` 断开连接,需要断开一个 session 的快捷键如下: ```bash ctrl+b, d ``` 列出当前全部可连接的 session 命令如下: ```bash tmux ls ``` 在断开的情况下,重新连接到某 session 命令如下: ```bash tmux attach -t ``` 如果想关闭某 session,可通过以下命令实现: ```bash tmux kill-session -t ``` ## 快捷键 | Keys | Description | |------|--------------| | **Session** | **会话** | | ctrl+b, :new\ | 启动新会话 | | ctrl+b, s | 列出所有会话 | | ctrl+b, $ | 重命名当前会话 | | **Window** | **窗口 (标签页)** | | ctrl+b, c | 创建新窗口 | | ctrl+b, w | 列出所有窗口 | | ctrl+b, n | 后一个窗口 | | ctrl+b, p | 前一个窗口 | | ctrl+b, f | 查找窗口 | | ctrl+b, , | 重命名当前窗口 | | ctrl+b, & | 关闭当前窗口 | | **Pane** | **窗格(分割窗口)** | | ctrl+b, % | 将当前窗格平分为左右两块 | | ctrl+b, ” | 将当前窗格平分为上下两块 | | ctrl+b, o | 在当前窗口中选择下一窗格 | | ctrl+b, x | 关闭当前窗格 | | ctrl+b, { | 与上一个窗格交换位置 | | ctrl+b, } | 与下一个窗格交换位置 | | **Operation** | **操作** | | ctrl+b, d | 离开当前会话 | | ctrl+b, t | 窗口中央显示一个数字时钟 | | ctrl+b, ? | 列出所有快捷键 | | ctrl+b, : | 命令提示符 | | ctrl+b, [ | 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出,光标键和Pg Up/Dow 操作翻页滚屏 | ## 嵌套使用 Tmux 可以嵌套使用,在本地嵌套使用需要 unset $TMUX 环境变量。最常见的是在本地开启一个 Tmux,之后远程到服务器,在服务器上再 Tmux,形成本地 Tmux 嵌套 远程 Tmux 的形式。此时按 1 次 ctrl+b 将激活外层 Tmux,之后按对应的快捷键;按 2 次 ctrl+b 将激活内层 Tmux,之后再按对应的快捷键。