Tmux 使用¶
约 243 个字 46 行代码 预计阅读时间 1 分钟
介绍¶
-
将终端和会话分离
-
相关概念:后台服务 (server),会话 (session),窗口 (window),窗格 (pane)
-
一个 session 可以包含多个 window,一个 window 可以被分割成多个 pane
-
参考资料:
安装¶
使用¶
配置¶
- Tmux 配置:打造最适合自己的终端复用工具 - zuorn - 博客园
- tmux + oh-my-tmux使用指北
- tmux 插件管理:GitHub - tmux-plugins/tpm: Tmux Plugin Manager
快捷键¶
- 默认前缀键 prefix:
Ctrl + b
# session 快捷键
prefix + d # 分离 session
prefix + s # 列出所有 session
prefix + $ # 重命名当前 session
# 窗格快捷键
prefix + % # 划分左右两个窗格
prefix + " # 划分上下两个窗格
命令¶
-
tmux session 管理:
-
session 相关命令
tmux -V # 查看版本
tmux source-file ~/.tmux.conf # 刷新配置
tmux new -s session_name # 新建 session,默认从 0 开始
tmux detach # 分离 session
tmux ls # list-sessions;列出所有 sessions
tmux a # attach;重新连接 session
tmux attach -t session_name # 同上
tmux kill-session -t session_name # 杀死
tmux kill-session -a # 杀死除当前 session 的其他
tmux switch -t session_name # 切换
tmux rename-session -t 0 new_name # 重命名
tmux capture-pane -pt session_name # 将指定 session 的窗口内容保存到缓冲区
# 查看 tmux session 中的 pane 中的命令完成情况
# 若为 bash/zsh,则命令已完成;若为具体命令,则命令正在运行
tmux list-panes -a -F "#{session_name}:#{pane_id} #{pane_current_command}"
# # 查看 tmux session 中的 pane 中的进程 ID
tmux list-panes -a -F "#{session_name}:#{pane_id} #{pane_pid}"
# 根据 pane 的进程 ID 查看具体命令
ps f -o pid,cmd --ppid ${pane_pid}
ohmytmux 使用¶
-
ohmytmux 添加了
Ctrl + a
前缀键(如何将其取消或换成别的) -
ohmytmux 安装
cd ~
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .
- 快捷键
prefix + - # 垂直拆分当前窗格
prefix + _ # 水平拆分当前窗格
prefix + x # 关闭当前窗格
prefix + ; # 光标切换到上一个窗格
prefix + o # 光标切换到下一个窗格
prefix + > / < # 交换窗格
prefix + H J K L # 调整窗格大小
prefix + h j k l # 导航窗格
prefix + + # 将当前窗格最大化为新窗口和最小化
prefix + m # 鼠标模式打开或关闭
prefix + [ / Enter # 进入 copy-mode 模式,滚屏
相关问题¶
- tmux 底部如何显示当前路径(安装了 ohmytmux,会无法实现此功能?建议拆分窗格查看)