Tmux 使用
Tmux 是一款终端复用工具, 相比起 Terminal 或 iTerm, Tmux 可以使用快捷键方便的切换会话窗口, 保存 & 恢复会话, 以及方便地进行远程会话.

tmux 最大管理单位为服务器, 服务器下有多个会话, 一个会话之下可以有多个窗口, 一个窗口下可以有多个面板
会话有命名 (' $), 窗口有编号有命名 (' , 与 ' .), 面板只有编号 (' q)
安装
bash
brew install tmux命令
系统级
clear: 清空屏幕tmux list-keys: 列出 tmux 所有支持的快捷键tmux: 从终端新建一个 tmux 会话tmux new -s 我的会话: 从终端新建一个名字为我的会话的会话' d: detach, 断开会话tmux a: 连接到之前断开的会话tmux a -t 我的会话: 连接到之前断开的名字为我的会话的会话tmux attach -t 我的会话: 连接到之前断开的名字为我的会话的会话tmux kill-session -t 我的会话: 关闭名字为我的会话的会话tmux kill-server: 关闭整个服务器, 所有会话均被关闭tmux ls: 查看所有会话' s: 显示所有的会话' w: 显示所有的会话以及会话所包含的所有窗口 (因此, 此命令比's更全面)' C-s: 保存所有会话, 非原生, 由第三方插件 resurrect 实现' C-r: 恢复所有会话, 非原生, 由第三方插件 resurrect 实现' [: 进入复制模式, 按q退出v: 在进入复制模式后开启选择模式, 已重置, 默认为空格y: 在进入复制模式且选择完成后进行复制确认, 已重置, 默认为 enter 键
面板
' |: 竖直分割面板, 已重置, 默认为"' -: 水平分割面板, 已重置, 默认为%' !: 将当前面板移动到新的窗口打开' x: 关闭当前面板' z: 最大(小)化当前面板' 方向键: 移动光标至某个方向的面板' ⌥- 方向键: 向某个方向扩张窗口五个单元格, 也可以直接使用鼠标进行拖动' {: 向前序号置换面板' }: 向后序号置换面板' C-o: 顺时针拨动面板' o: 光标挪至下一面板' q: 显示当前窗口所有面板序号, 编号显示时输入编号即可切换至面板' t: 在当前面板显示时钟
窗口
' c: 创建新窗口' &: 关闭窗口' p: 打开上一个窗口' n: 打开下一个窗口' ,: 重命名窗口' .: 重命名窗口序号' 1~9: 根据窗口序号切换至对应窗口
插件
Tmux Plugin Manager
Tmux 的插件管理器, 需要安装插件时很方便, 目前 tmux 的绝大多数插件都支持使用此管理器进行安装
安装
- 终端中输入bash
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm - 在 .tmux.conf 中加入:bash
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' - 重加载 tmux(如果 tmux 在运行的话)bash
tmux source ~/.tmux.conf
使用插件
- 直接在
.tmux.conf文件中加入如下:bashset -g @plugin 'tmux-plugins/XXXXXXXXXX' prefix I, 输入命令进行安装
命令
prefix I: 安装插件prefix U: 更新插件prefix alt u: 移除插件
Tmux Resurrect
Tmux 的所有会话基于一个服务器, 但是如果终端被完全退出或者电脑进行了重启, 那么服务器的数据将会被清空, Tmux 的所有会话也会被清除, 再次打开时所有配置好的窗口都会被重置.
使用此插件可以在需要的时候保存所有窗口布局, 在重启服务器时一键恢复所有布局
安装
bash
set -g @plugin 'tmux-plugins/tmux-resurrect'使用
prefix + Ctrl-s: save, 保存会话prefix + Ctrol-r: restore, 恢复会话
Tmux-yank
用于将 tmux 中的内容复制到系统剪贴板中
安装
MacOS
- 通过 tpm 安装本体bash
set -g @plugin 'tmux-plugins/tmux-yank' - 使用 Homebrew 安装
reattach-to-user-namespace:brew install reattach-to-user-namespace - 配置
~/.tmux.conf文件bash# ~/.tmux.conf set-option -g default-command "reattach-to-user-namespace -l $SHELL"
CentOS
- 通过 tpm 安装本体bash
set -g @plugin 'tmux-plugins/tmux-yank' - 安装
xsel或xclip:sudo yum install xsel或sudo yum install xclip即可
使用
y: 将当前所选复制到剪贴板Y: 将当前所选复制到剪贴板并直接输出到当前命令区域
本博客文章采用 CC 4.0 协议,转载需注明出处和作者。
