已复制
全屏展示
复制代码

tmux 常用命令总结


· 4 min read

一. 基本概念

tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务,此时将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。一个tmux session(会话)可以包含多个window(窗口),窗口默认充满整个会话界面,允许在单个窗口中同时访问多个会话,允许每个会话有多个连接窗口,因此可以多人实时共享会话。一个window又可以包含多个pane(面板),窗口下的面板,都处于同一界面下。

tmux 使用的场景

  • 想同时打开多个目录,会在多个目录随时切换操作时
  • 开了一个 vim 窗口之后,想切到其他目录操作
  • 每次进入终端后还保留了上次的工作现场

tmux 最佳实践

  • 通常同一台server,一人一个session,以用户名命名session
  • 在同一个session里面开多个window,并重命名window
  • pane通常不使用,它的场景是需要实时观察两个bash的实时结果时使用

1.1 新建会话

tmux                        # 新建一个会话id递增的会话
tmux new -s demo            # 新建一个名称为demo的会话

prefix :new                 # 如果当前正在某个会话中,prefix :输入命令new创建会话

1.2 查看会话

tmux ls                     # 列出所有会话

1.3 断开会话

tmux detach                 # 断开当前会话,会话会在后台运行
prefix d                    # prefix 然后按 d也可以断开会话

1.4 进入会话

tmux a                      # 默认进入最后一次操作的会话
tmux a -t demo              # 进入到名称为demo的会话

1.5 关闭会话

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

1.6 切换会话

会话切换的前提是你必须在某一个会话当中

prefix s                   # 会列出所有的会话列表,按上下键实时预览会话,回车键进入会话

1.7 其他会话操作

prefix ?                                           # 显示快捷键帮助文档

tmux rename-session -t <old-name> <new-name>       # 重命名会话名称
prefix $                                           # 重命名当前会话

prefix :                                           # 进入命令行模式

1.8 配置文件

在 tmux 的配置文件 ~/.tmux.conf

tmux source-file ~/.tmux.conf                      # 使tmux生效
tmux show-options -g | grep prefix                 # 查看配置内容

二. 指令前缀

Ctrl + b 是终端的光标移动建,所以改成 Ctr + g

unbind C-b                # 解除绑定Ctrl+b
set -g prefix C-g         # -g 选项全局配置(global),让设置的选项在所有创建的 tmux 会话里生效
bind C-g send-prefix      # 绑定Ctrl+g为新的指令前缀

三. 鼠标用法

如果原来的终端是选择复制,右键粘贴的话,在tmux里面需要手动开启,开启下面的选项以后,需要按住 Shift 选择,按住 Shift 粘贴。

# 2.1 版本以后, tmux -V 查看版本
set-option -g mouse on

# 2.1 版以前, tmux -V 查看版本
setw -g mouse-resize-pane on
setw -g mouse-select-pane on
setw -g mouse-select-window on
setw -g mode-mouse on

四. window的用法

prefix c                                         # 在当前会话创建一个window
prefix ,                                         # 重命名当前窗口
prefix 0                                         # 快速切换窗口,在tmux会话里面会直观地看到窗口的编号

五. pane用法

prefix "                                         # 当前面板上下一分为二,下侧新建面板
prefix %                                         # 当前面板左右一分为二,右侧新建面板
prefix x                                         # 关闭当前pane
prefix z                                         # 最大化当前面板,再重复一次按键后恢复正常
prefix q                                         # 显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
prefix arrow                                     # 使用方向键切换pane
prefix t                                         # 显示时钟

参考资料

🔗

文章推荐