共计 1587 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | tmux 是 linux 中一种管理窗口的程序,不同于 iTerm2,它提供了一个 Session 随时存储和恢复的功能(Session 概念后面会介绍),detach Session(保持 Session 后台运行),然后重新 attach Session。 |
常用场景,在公司 Terimal 中开了多个标签和文件,下班回家忽然有了灵感想要继续编写,使用 ssh 远程链接公司电脑,然后发现标签页和文件都要重新打开,如果使用 Tmux,下班了 detach 当前 Session,回家 ssh 远程连接后,attach Session 后,场景恢复又能愉快的继续编程了…
安装
# 安装 Mac OS X 下遗失的包管理 Homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安装神器 Tmux
$ brew install tmux
基础
# 启动 Tmux
$ tmux
# 关闭 Tmux
$ ctrl + d
# 或退出
$ exit
tmux 有三个基本概念:会话 (Session),窗口(Window) 和面板(Pane)。当你输入 tmux 后,tmux 实际做的事是首先创建一个会话(Session),然后在这个会话中创建一个窗口,你可以继续创建多个窗口(Window),每个窗口初始只包含一个面板,继续分屏后,会出现多个面板(Pane) 你在其中看到的终端实际上都属于 tmux 的某个面板
更进一步讲,Session 可以包含多个 Window,每个 Window 又可以包含多个 Pane
基本操作
所有快捷键的执行方式:
按下 control + b 两个按键组合, 然后松开control + b(为了告诉 Tmux 我要用 Tmux 的快捷键了), 然后在按快捷键触发各种行为。
例如: C-b ?的执行过程为按下 control + b 两个按键组合, 然后松开control + b, 然后在按’?’键, 会显示所有快捷键的列表。
- C-b ? 列出所有快捷键, 按 q 或 Esc 返回
- C-b d detach 当前会话, 可暂时返回 Shell 界面,输入 tmux attach 能够重新进入之前会话
- C-b s 选择并切换会话;在同时开启了多个会话时使用
快捷键
Window 操作
- C-b c 创建一个新窗口
- C-b & 关闭当前窗口
- C-b w 列出所有的窗口选择
- C-b p 切换到上一个窗口
- C-b n 切换到下一个窗口
- C-b 窗口号 使用窗口号切换窗口(例如窗口号为 1 的, 则C-b 1)
- C-b , 重命名当前窗口,便于识别各个窗口
Pane 操作
- C-b % 横向分 Terminal
- C-b “ 纵向分 Terminal
- C-b 方向键 则会在自由选择各面板
- C-b x 关闭当前 pane
- C-b q 显示面板编号
Session 操作
# 创建一个新的 session
$ tmux new -s <name -of-my-session>
# 在当前 session 中创建一个新的 Session, 并保证之前 session 依然存在
# C-b : 然后输入下面命令
new -s <name -of-my-new-session>
# 进入名为 test 的 session
$ tmux attach -t test
- C-b s 列出所有会话
- C-b d detach 当前 session(可以认为后台运行)
进阶
美化 Tmux
使用 gpakosz 的 Tmux 配置进行美化。
优点
- 使用 C-a 作为前缀更方便使用, 同时保存了 C-b 的触发前缀
- powerline 状态条美化(用过 vim 的都应该比较熟悉)
- 显示笔记本电池状态
安装使用
$ cd
$ rm -rf .tmux
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .
正文完
星哥玩云-微信公众号