tmux 常用命令总结
一. 基本概念
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 # 显示时钟
参考资料