tmux
是一种终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端tmux
可以从屏幕上分离,并继续在后台运行,然后稍后重新连接
一键安装
centos 系列可以直接用 yum
debian 系列可以直接用 apt-get
yum install -y tmux apt-get install -y tmux
编译安装
centos 7
使用yum
安装的版本会比较低,只有1.8
编译需要用到 libevent,虽然 centos 7 的源使用的也是 2.x 的版本,还是会出现 configure: error: "libevent not found",这里就先提前编译 libevent 2.1.12-stable
编译 libevent
下载步骤,我就省略不写了
tar xf libevent-2.1.12-stable.tar.gz cd libevent-2.1.12-stable/ ./configure --disable-openssl make && make install
编译 tmux
编译
tmux
还需要用到ncurses
yum install -y ncurses-devel gcc make tar xf tmux-3.3.tar.gz cd tmux-3.3 ./configure make && make install
验证 tmux
是不是可用
tmux -V
如果出现报错:tmux: error while loading shared libraries: libevent_core-2.1.so.7: cannot open shared object file: No such file or directory
,那是因为我们是编译出来的,不在系统的默认 lib
库的路径下,做一个软连接就好了
ln -s /usr/local/lib/libevent_core-2.1.so.7.0.1 /lib64/libevent_core-2.1.so.7
tmux 必知必会
session
:通过 tmux 命令创建的一个会话,里面可以包含多个 windows 和 pane,是一个大的集合
windows
:当成浏览器的 tab 来理解,一个浏览器有多个 tab 页面
pane
:窗格,在一个 windows 里面可以划分多个窗格,可以水平拆分,可以垂直拆分
替换 tmux 皮肤
- 为什么要高版本的
tmux
,是因为这里要用的皮肤,要求tmux
的版本不能低于2.4
,所以就直接装了3.3
了- gpakosz/.tmux
git clone https://github.com/gpakosz/.tmux.git cp .tmux/.tmux.conf ~/ cp .tmux/.tmux.conf.local ~/
开启鼠标模式
在
~/.tmux.conf
文件里面增加下面的内容就可以了,如果已经开过会话了,需要把会话都关了才会生效,如果需要鼠标模式,可以提前配置好
set -g mouse on
在鼠标模式下,可以在窗格通过长按右键来选择一些指令,指令高亮时,松开右键来实现选择的效果,比如:
Horizontal Split
:垂直拆分
Vertical Split
:水平拆分
Swap Up
:水平拆分为上下窗格互换,垂直拆分为左右窗格互换
Kill
:杀死当前窗格
- 也可以在
windows
名称和session
名称的位置右键来达到重命名和新建的效果
session 常用命令
新建 session
# 新建会话,不指定名称的情况下,会话名称是纯数字,从 0 开始 tmux # 新建一个名为 study 的会话 tmux new -s study
查看当前有哪些 session
tmux ls
进入指定的 session
tmux a -t study
关闭 session
# 关闭指定的 session tmux kill-session -t study # 关闭所有 session tmux kill-server
常用快捷键
session 内常用快捷键
tmux
的快捷键前缀是ctrl + b
,要先按好前缀,然后再按指令,同时按是不生效的
前缀 | 指令 | 用途 |
ctrl + b |
? |
显示快捷键的帮助文档 |
ctrl + b |
d |
断开当前 session 可以通过 tmux a -s <session-name> 重新连接 |
ctrl + b |
D |
选择需要断开的 session |
ctrl + b |
s |
显示并切换到指定的 session |
ctrl + b |
: |
命令行模式,可以直接使用 tmux 的命令 比如在命令行模式输入 ls 等同于在外面输入了 tmux ls |
windows 常用快捷键
这个
windows
是tmux
里面的windows
前缀 | 指令 | 用途 |
ctrl + b |
c |
新建 windows |
ctrl + b |
& |
关闭当前 windows,需要输入 y 或 n 来确认 |
ctrl + b |
0-9 |
切换到指定编号的 windows |
ctrl + b |
w |
打开 windows 列表 |
ctrl + b |
, |
重命名当前 windows 名称 |
ctrl + b |
. |
修改当前 windows 编号 |
pane 常用快捷键
前缀 | 指令 | 用途 |
ctrl + b |
“ |
水平分割,下方新建窗格 |
ctrl + b |
% |
垂直切割,右侧新建窗格 |
ctrl + b |
x |
关闭当前窗格,需要输入 y 或 n 来确认 |
ctrl + b |
z |
当前窗格最大化 再按一次当前快捷键后恢复到之前的样子 |
ctrl + b |
! |
两个以上窗格时,将当前窗格移动到新 windows 打开 |
ctrl + b |
; |
切换到最后一次使用的窗格 |
ctrl + b |
q |
显示窗格编号,在编号消失前按对应的数字编号可以切换到指定的窗格 |
ctrl + b |
{ |
当前窗格编号向前一位 如果当前窗格是第一位则向前变成最后一位,其他窗格不变,窗格编号也会互换 |
ctrl + b |
} |
同上,表示当前窗格编号向后一位 |
ctrl + b |
ctrl + o |
顺时针旋转所有窗格位置 |
ctrl + b |
方向键 |
切换到方向键对应的窗格 |
ctrl + b |
o |
根据窗格编号切换到下一个窗格 |
ctrl + b |
t |
显示时钟,单击后消失 |
将这个生产力工具推荐给大家,祝大家 1024 快乐,永不秃头