为什么用tmux:首先,因为我最近换了一个终端模拟器alacritty,这个模拟器不支持原生的分屏,需要通过tmux辅助。别问为什么非要用alacritty而不是自带分屏的ghostty,因为一个是rust一个是zig。 另外,我在使用服务器训练raft视觉模型的时候,偶尔因为网络断开连接,导致远程ssh关闭,自动的结束了训练,虽然我知道了可以使用nohup 在>输出到log文件中,但是还是觉得如果可以用tmux这种会更方便。
tmux简介#
为了解决上面提到的很常见的问题(关闭终端窗口&断开连接会导致任务(会话)终止),tmux的任务就是把session和窗口解除了绑定。 因此,tmux有三层结构,这样既解决了上面的问题,也推出了方便的分屏功能。
1session(会话)
2 └── window(窗口)
3 └── pane(面板/分屏)
tmux安装#
安装本体#
1#Ubuntu & Debian
2sudo apt install tmux
3#CentOS & Fedora
4sudo yum install tmux
5# Mac
6brew install tmux安装tpm(tmux插件管理工具)#
1git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm配置conf文件#
1nano ~/.tmux.conf写入配置#
1# =========================
2# 基础配置
3# =========================
4set -g prefix C-a
5unbind C-b
6bind C-a send-prefix
7
8set -g mouse on
9
10# =========================
11# 插件管理
12# =========================
13set -g @plugin 'tmux-plugins/tpm'
14
15# Catppuccin主题
16set -g @plugin 'catppuccin/tmux'
17
18# 可选:增强体验插件
19set -g @plugin 'tmux-plugins/tmux-sensible'
20
21# =========================
22# Catppuccin配置(可选优化)
23# =========================
24set -g @catppuccin_flavour 'mocha' # latte / frappe / macchiato / mocha
25
26# 状态栏位置
27set -g status-position bottom
28
29# =========================
30# 初始化 TPM(必须放最后)
31# =========================
32run '~/.tmux/plugins/tpm/tpm'安装插件#
进入tmuxtmux,然后Ctrl + a ->Shift + I
- 等待自动安装
- 大写I
加载配置#
1tmux source-file ~/.tmux.conftmux使用#
🟢 会话(session)#
1tmux new -s name # 创建会话
2tmux ls # 列出会话
3tmux attach -t name # 进入会话
4tmux kill-session -t name # 删除会话
5tmux rename-session -t old new🔵 基本快捷键(前缀 Ctrl + a)#
1Ctrl + a d # detach(后台运行)
2Ctrl + a r # 重载配置(需绑定)
3Ctrl + a : # 命令模式🟡 窗口(window)#
1Ctrl + a c # 新建窗口
2Ctrl + a n # 下一个窗口
3Ctrl + a p # 上一个窗口
4Ctrl + a 数字 # 切换窗口
5Ctrl + a , # 重命名窗口
6Ctrl + a w # 列出窗口
7Ctrl + a & # 关闭窗口🟣 分屏(pane)#
1Ctrl + a % # 垂直分屏
2Ctrl + a " # 水平分屏
3Ctrl + a 方向键 # 切换 pane
4Ctrl + a x # 关闭 pane
5Ctrl + a z # 最大化/还原 pane🟠 调整大小#
1Ctrl + a Ctrl + ←/→/↑/↓ # 调整 pane 大小🟤 布局#
1Ctrl + a 空格 # 切换布局
2Ctrl + a Alt + 1 # even-horizontal
3Ctrl + a Alt + 2 # even-vertical
4Ctrl + a Alt + 3 # main-horizontal
5Ctrl + a Alt + 4 # main-vertical⚫ 复制模式(vi)#
1Ctrl + a [ # 进入 copy-mode
2v # 开始选择
3y # 复制
4q # 退出🎯 一句话速记#
1session:tmux new -s
2退出不关:Ctrl+a d
3分屏:% 和 "
4切换:方向键