Tmux是一个类似Screen的多窗口管理工具
CentOs快速安装脚本
1 | wget -qO- https://blog.yumc.pw/attachment/script/shell/tmux.sh | bash |
下载 编译安装
检查类库
更新
yum update -y
安装基本库
yum install -y automake gcc git make
如果未安装
libevent
或者 版本低于2.1.10-stable
执行下列命令安装- CentOs 执行
yum install libevent-devel
- Debian 执行
apt-get install libevent-dev
- 编译安装
1
2
3
4wget http://iweb.dl.sourceforge.net/project/levent/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar -xvzf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure && make && make install
- CentOs 执行
如果未安装
curses
- CentOs 执行
yum install ncurses-devel
- Debian 执行
apt-get install libncurses5-dev
- CentOs 执行
安装命令
1
2
3
4
5
git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make && make install
ln -s /usr/local/bin/tmux /usr/bin/tmux
错误解决
- 提示
-bash: /usr/bin/tmux: No such file or directory
1
ln -s /usr/local/bin/tmux /usr/bin/tmux
- 提示
tmux: error while loading shared libraries: libevent-*.*.so.*: cannot open shared object file: No such file or directory
1
2ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5 # 32位系统
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 # 64位系统
常用命令
外部命令/按键
- 分离窗口
1
tmux split-window -t "${session_name}:${window_number}" -c "$dir" "$pane_creation_command"
- 创建Window
1
tmux new-window -d -t "${session_name}:${window_number}" -n "$window_name" -c "$dir" "$pane_creation_command"
内部命令/按键
prefix + d
分离当前Sessionprefix + D
或者:attach -d
分离其他附加到当前窗口的用户
配置按键
- 习惯了Screen的按键 我们需要自定义一下按键
- 新建配置 touch ~/.tmux.conf
- 写入以下配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25#修改前缀(C-a)
unbind C-b
set -g prefix C-a
#添加重载命令(C-a-r)
bind r source-file ~/.tmux.conf ; display "配置文件已重载!" ;
#修改关闭命令(C-a-k)
unbind &
bind-key k kill-session
#修改竖分屏命令(C-a-|)
unbind %
bind-key | split-window -h
#开启鼠标切换
set-option -g mouse on
# 老版本的鼠标配置
# set-option -g mode-mouse on
# set-option -g mouse-resize-pane on
# set-option -g mouse-select-pane on
# set-option -g mouse-select-window on
#关闭自动修改窗口名称
set-option -g allow-rename off - 这里有一份常用的配置(需要先克隆插件管理器) 点击下载
- 提取窗口
prefix + !
插件相关
安装插件管理器
- 新建插件目录
mkdir ~/.tmux
- 克隆插件管理器
- 执行
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
- 执行
- 配置文件
~/.tmux.conf
底部添加下列内容1
2
3
4
5
6# 插件列表
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# 初始化 TMUX 插件管理器 (请务必保证这行在 tmux.conf 的结尾)
run '~/.tmux/plugins/tpm/tpm' - 打开 tmux 按下 Ctrl-a I(大写 记得按Shift) 完成安装
安装插件
自动保存插件安装
通过 Tmux Plugin Manager 安装 (推荐)
在配置 .tmux.conf
添加下列内容
1 | set -g @plugin 'tmux-plugins/tmux-resurrect' |
按下 prefix + I
(如果过是上文配置 就是 Ctrl-a I(大写 记得按Shift)) 获取插件源码. 插件会自动在后台启动
手动安装
- 新建插件目录
mkdir ~/.tmux
- 克隆插件
git clone https://github.com/tmux-plugins/tmux-resurrect.git
- 克隆插件
git clone https://github.com/tmux-plugins/tmux-continuum.git
- 在配置文件
.tmux.conf
添加一行run-shell ~/.tmux/tmux-continuum/resurrect.tmux
- 在配置文件
.tmux.conf
添加一行run-shell ~/.tmux/tmux-continuum/continuum.tmux
保存布局功能
手动保存
- 保存布局
prefix + Ctrl-s
(Ctrl-a + Ctrl-s) - 恢复布局
prefix + Ctrl-r
(Ctrl-a + Ctrl-r)
自动保存/恢复
- 配置文件添加一行
set -g @continuum-restore 'on'
启用自动恢复 - 启用自动保存之后 每隔15分钟会自动保存 开启后自动会恢复