5分钟快速学习上手tmux;tmux你看懂这一篇就够了…
啥是tmux
一句话,将传统的命令行终端中窗口(window, 即一个terminal的视窗)与会话(session,泛指人机交互行为,比如一个SSH长连接任务)分离的工具。macos下安装:
1 | brew install tmux |
用tmux啥好处
- 第一,方便分离窗口和会话,使得离开窗口不影响会话;
- 第二,方便整合工作环境,根据需求划分不同的命令行环境(比如,做一个python开发环境下的命令终端窗口集合);
- 第三,通过插件保存工作环境,方便跟踪工作进度。
tmux基本概念(一张图秒懂):
注意区别这里面的窗口跟terminal自己的窗口。terminal自己的窗口指的是你使用tmux的窗口,而这里的窗口是指每个tmux下建立的工作环境
- 第一,开启和关闭tmux
1 | # 开启 |
tmux操作会话常用的按键组合为ctrl+b +s
为列出全部的会话,可以使用↑↓←→ + Enter
键选择;除此以外的常用命令包括:
1 | # 列出当前全部已建会话 |
tmux操作窗口常用的按键组合为ctrl+b + n
或 ctrl+b + p
向前或者向后选择窗口,ctrl+d
关闭当前窗口以及ctrl+b + w
选择窗口;除此以外的常用命令包括:
1 | # 新建一个窗口 |
使用pane,好嗨哟
以上都是比较常规的操作,学会了基本上能玩的很嗨了。如果还想更快乐,就需要学习一下pane的概念,但也不是太复杂,熟悉vim的朋友也很容易上手。
简单来说,pane就是把当前的一个tmux窗口进一步划分成若干块;好处就是可以配合命令观察,比如左边issue一个commend,左边pane时刻使用htop
观察资源情况,右边跑任务啥的:
那么,常用的pane的命令除了使用ctrl+b + ↑↓←→
来回横跳,还有使用ctrl+b + %
以及ctrl+b +"
或纵或横隔开窗口等。
以上快捷键也可以用命令代替,可以根据个人喜好选择合适自己的玩法
我的tmux配置
正如大家所猜想的那样,tmux也有属于自己的配置文件,就在~/.tmux.conf
里。下面分享一下我自己的配置,请盆友们按需自取:
1 | ## ~/.tmux.conf |
脑子不好用记不住怎么办
嗯,好问题,我也一样。啥命令一学就忘,不然你以为我为啥写这篇blog…
一个傻瓜式解决方案就是编写一个专属于自己的命令提示函数,忘了的时候随时召唤,刷新一下记忆,如下:
1 | ## ~/.bashrc or ~/.zshrc |
参考链接
1. https://www.ruanyifeng.com/blog/2019/10/tmux.html
2. http://louiszhai.github.io/2017/09/30/tmux/