描述

终端是前端开发最常用的工具,但是往往开发需要开很多个终端,就会出现满屏的多个终端叠在一起。

如果像如下的样子:



会不会很帅?

这个时候就会需要一个终端屏幕管理工具。

在查询后,发现主要有两个工具,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,对于同时在开发三四个项目的开发,分屏多窗口的终端是必须的。有部分命令没有介绍到,是因为我觉得有效的开发流程中,这些命令就够了。