0%

Tmux 使用手册

  • Tmux 即 Terminal Multiplexer,是一个强大的终端复用器,可以在一个终端窗口中运行多个终端会话。
  • 本文主要根据个人工作中常用的 Tmux 应用场景进行相关指令和快捷键的总结。

Tmux 基础

Tmux与进程

  • 在 Tmux 中,一个会话(session)是一个独立的工作环境,包含一组窗口。
  • Tmux 中的基本单位,每个窗口都可以包含一个或多个窗格。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    - ```窗格(pane)```是窗口中的一个区域,每个窗格都运行一个 shell 进程。

    ![](/images/tmux/tmux-session-window-pane.png)

    ### Tmux的作用

    - **多任务处理**:Tmux 允许在一个终端窗口中打开多个会话,每个会话都可以包含多个窗口,每个窗口都可以包含多个窗格。这使得开发者可以在一个地方同时进行多个任务。

    - **持久会话**:即使 SSH 连接断开,Tmux 会话仍然会保持运行,可以重新连接到 Tmux 会话,继续运行工作。

    - **窗口管理**:Tmux 提供了许多窗口管理功能,如窗口分割、窗口切换、窗口重命名等。

    - **脚本自动化**:可以使用 Tmux 脚本来自动化工作流程,例如,自动创建多个窗口和窗格,运行特定的命令等。

    - **团队协作**:Tmux 支持会话共享,这意味着多个用户可以同时查看和操作同一个 Tmux 会话,这对于远程团队协作非常有用。

    ### Tmux的安装

    Tmux 可以在大多数的 Linux 发行版和 macOS 中通过包管理器安装。

    ```Shell
    # Ubuntu 或 Debian
    $ sudo apt-get install tmux

    # CentOS 或 Fedora
    $ sudo yum install tmux

    # Mac
    $ brew install tmux

基本命令

启动与退出

Command Description
tmux 启动一个新的 Tmux 会话
exit 退出 Tmux 会话窗口

会话管理

Command Description Quick
tmux list-sessions 查看所有会话 Ctrl+b s
tmux rename-session -t old-session session-name 重命名会话 Ctrl+b $
tmux new -s session-name 新建会话
tmux attach -t session-name 接入会话
tmux switch -t session-name 切换会话 Ctrl+b l
tmux detach -t session-name 分离会话 Ctrl+b d
tmux kill-session -t session-name 结束会话 Ctrl+b &

窗格管理

Command Description Quick
tmux split-window 划分上下两个窗格 Ctrl+b "
tmux split-window -h 划分左右两个窗格 Ctrl+b %
tmux swap-pane -U 当前窗格上移 Ctrl+b {
tmux swap-pane -U 当前窗格下移 Ctrl+b }
tmux select-pane -U 光标切换到上方窗格 Ctrl+b ↑
tmux select-pane -D 光标切换到下方窗格 Ctrl+b ↓
tmux select-pane -L 光标切换到左方窗格 Ctrl+b ←
tmux select-pane -R 光标切换到右方窗格 Ctrl+b →
tmux kill-pane 关闭当前窗格 Ctrl+b x
tmux break-pane 将当前窗格拆分为独立窗口 Ctrl+b !
tmux resize-pane -Z 当前窗格全屏显示 Ctrl+b z
tmux resize-pane -U 向上调整窗格大小 Ctrl+b Ctrl+↑
tmux resize-pane -D 向下调整窗格大小 Ctrl+b Ctrl+↓
tmux resize-pane -L 向左调整窗格大小 Ctrl+b Ctrl+←
tmux resize-pane -R 向右调整窗格大小 Ctrl+b Ctrl+→
tmux display-panes 显示窗格编号 Ctrl+b q

窗口管理

Command Description Quick
tmux new-window -n window-name 创建一个新窗口 Ctrl+b c
tmux previous-window 切换到上一个窗口 Ctrl+b p
tmux next-window 切换到下一个窗口 Ctrl+b n
tmux select-window -t :0 切换到指定编号的窗口 Ctrl+b <number>
tmux choose-window 从列表中选择窗口 Ctrl+b w
tmux rename-window 窗口重命名 Ctrl+b ,

自定义配置

其他命令

Command Description
tmux list-keys 列出所有快捷键及其对应的 Tmux 命令
tmux list-commands 列出所有 Tmux 命令及其参数
tmux info 列出当前所有 Tmux 会话的信息
tmux source-file ~/.tmux.conf 重新加载当前的 Tmux 配置

参考资料

Tmux 使用教程 - 阮一峰的网络日志
A Quick and Easy Guide to tmux - Ham Vocke