当越来越多的工作是在终端内完成的时候,可以使用tab或split当前窗口实现多窗口之间的切换。即使这样切换起来还是不方便,而且无论是终端顶部的tab还是split后中间的那条线,都阻碍了屏幕的充分利用。
这时就需要terminal mutiplexer
「终端复用器」来帮我管理窗口。
主流“终端复用”工具有tmux和screen等。
这里主要介绍tmux,它的detach
和attach
,以及每个window占用极少的内存,尤其是attach,多少次手不小心⌘+w关闭了终端,只需
tmux attach
安装
brew install tmux
运行
tmux
tmux采用分段式快捷键,即要操作tmux,需要先触发一个快捷键,再输入操作按键。
默认的prefix
为Control+b
,即先按Control+b
然后在输入操作按键。
窗口关系结构
tmux的窗口结构如下
1 | tmux |
通过上面的结构可以看出,tmux里的以session
为单位,每个session
内会有多个window
,而每个window
又可以被切分出做个pane
。
运行tmux后,tmux会初始化一个session
,这个session
里默认会又一个window
,每个window
下默认也会有一个pane。
基本的操作不会在此一一列举,请自行搜索,或阅读文档。
配置
tmux和Vim一样可以灵活配置,只需编辑$HOME
下的.tmux.conf
即可。
同样也和Vim一样,为什么要一步一步去配置tmux,将别人已经配置好的文件拿来用不就好了吗?
Right!
首先里面的配置是将prefix改为了C-a,因为Control+b和Vim里的回滚冲突。
#C-b is not acceptable -- Vim uses it
unbind C-b
set -g prefix C-a
应用配置后bind-key+hjkl分别代表代表上下左右
![我的tmux](/images/Screen Shot 2016-12-09 at 7.01.27 PM.png)