当越来越多的工作是在终端内完成的时候,可以使用tab或split当前窗口实现多窗口之间的切换。即使这样切换起来还是不方便,而且无论是终端顶部的tab还是split后中间的那条线,都阻碍了屏幕的充分利用。
这时就需要terminal mutiplexer「终端复用器」来帮我管理窗口。
主流“终端复用”工具有tmux和screen等。
这里主要介绍tmux,它的detach和attach,以及每个window占用极少的内存,尤其是attach,多少次手不小心⌘+w关闭了终端,只需
tmux attach安装
brew install tmux运行
tmuxtmux采用分段式快捷键,即要操作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分别代表代表上下左右
