描述
终端是前端开发最常用的工具,但是往往开发需要开很多个终端,就会出现满屏的多个终端叠在一起。
如果像如下的样子:
会不会很帅?
这个时候就会需要一个终端屏幕管理工具。
在查询后,发现主要有两个工具,screen和tmux。
安装screen:
brew install screen
复制代码
安装tmux:
brew install tmux
复制代码
对比
screen和tmux的命令差不多相似,但是screen只能上下分屏,tmux可以上下分屏还能左右分屏。所以这里主要介绍tmux。
使用指南
创建一个window
tmux new -s [windowName]
复制代码
比如:tmux new -s tongbanjie
这样就创建一个窗口,可以执行tmux ls
查看创建的窗口。
可以通过以下命令来打开窗口:
tmux attach -t tongbanjie
或
tmux a -t tongbanjie
复制代码
- 如果想快速切换会话呢?
ctrl +b 然后点击 s
复制代码
列出所有会话,上下选择回车切换。
- 如果要关闭这个窗口但是不删除会话呢?
ctrl + b 然后点击 d
复制代码
- 现在我想删除这个会话了
ctrl + b
:kill-session
复制代码
- 我又有一个想法,删掉所有的会话
ctrl + b
:kill-server
复制代码
前缀组合键
在tmux里有一个概念叫前缀,即在执行一个命令前,先要执行一下前缀。默认的前缀组合键是ctrl + b
如果不喜欢,可以访问~/.tmux.conf
,没有就创建一个,添加以下代码:
unbind C-b
set -g prefix C-a
复制代码
即将ctrl+b
换成ctrl+a
。
分屏
分屏是最主要的功能。
- 左右分屏:
ctrl + b 然后 shift + "
复制代码
- 上下分屏:
ctrl + b 然后 shift + %
复制代码
- 现在我们要游走到各个窗格呢?
ctrl + b 然后 点击o
复制代码
- 如果要指定方向呢?
ctrl + b 然后 点击方向键
复制代码
- 然后这个窗格我觉得太小了,想变大一点,怎么办?
向上扩展:
ctrl + b
:resize-pane -U
向下扩展
ctrl + b
:resize-pane -D
向左扩展
ctrl + b
:resize-pane -L
向右扩展
ctrl + b
:resize-pane -R
复制代码
也可以指定扩展行数,默认是一行
向右移动5行
ctrl + b
:resize-pane -R 5
复制代码
- 现在如果想在当前会话创建一个新窗口怎么办?
ctrl + b 然后点击 c
复制代码
- 对于刚才创建的窗口是属于一个回话里的,那要查看会话所有窗口呢?
ctrl + b 然后点击 w
复制代码
- 那么要再窗口切换呢?
ctrl + b 然后 0 // 选择序号为0窗口
ctrl + b 然后 1 // 选择序号为1窗口
复制代码
- 然后我要删除这个会话的窗口呢?
ctrl + b 然后 shift + &
输入y即可
复制代码
- 现在我有一个需求,想在多个窗口搜索关键字:
ctrl + b 然后点击 f
复制代码
- 我现在想要用鼠标支持怎么办呢?
tmux set -g mouse on
复制代码
总结
在用了一段时间后,完全离不开tmux,对于同时在开发三四个项目的开发,分屏多窗口的终端是必须的。有部分命令没有介绍到,是因为我觉得有效的开发流程中,这些命令就够了。