Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。

source

tmux可将终端划分为会话(session)、窗口(window)、窗格(pane)三层结构,使用命令和快捷键来操作它。

所以说它的功能可说是很强大的,操作入门也需要常用慢慢熟练。

如果不是深度使用,只需将窗格相关操作练熟即可。

思维导图



安装配置

CentOS7下的tmux版本是1.8,这个旧版本很多配置不支持,所以为了使用所有的最新特性,有必要把 tmux 升级到最新。

# 安装依赖
$ sudo yum install libevent-devel
$ sudo yum install byacc

$ git clone https://github.com/tmux/tmux.git
$ cd tmux
$ sh autogen.sh
$ ./configure
$ make
$ sudo make install
$ tmux -V
tmux next-3.3

推荐配置

$ cd
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .

$ vi .tmux.conf.local
set -g mouse on

set -g status-keys vi
set -g mode-keys vi

unbind C-b
set -g prefix C-a

set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-save-interval '15'
set -g @continuum-restore 'on'
set -g @resurrect-capture-pane-contents 'on'

$ cd .tmux/plugins
$ git clone https://github.com/tmux-plugins/tmux-resurrect.git
$ git clone https://github.com/tmux-plugins/tmux-continuum.git

上下这个没搞成功,简单搞一下吧。

$ git clone https://github.com/tmux-plugins/tpm .tmux/plugins/tpm
# $ git clone https://github.com/tmux-plugins/tmux-resurrect.git .tmux/plugins/tmux-resurrect
# $ git clone https://github.com/tmux-plugins/tmux-continuum.git .tmux/plugins/tmux-continuum

$ vi .tmux.conf
# 解除默认前缀
unbind C-b
# 设置自定义前缀
set -g prefix C-a
# 采用vim的操作方式
setw -g mode-keys vi
# 窗口序号从1开始计数
set -g base-index 1
# 开启鼠标模式
set-option -g mouse on

# 通过前缀+KJHL快速切换pane
#up
bind-key k select-pane -U
#down
bind-key j select-pane -D
#left
bind-key h select-pane -L
#right
bind-key l select-pane -R

# panes 分割线颜色
#set -g pane-border-bg colour236
#set -g pane-border-fg colour236
#set -g pane-active-border-bg colour232
#set -g pane-active-border-fg colour232

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

$ tmux
# PREFIX + I 安装插件

如github.com访问失败,可手动修改其它地址下载插件。


会话的保存

如果tmux成为的常用工具,那么tmux的会话在关机等操作下如果永久保存与恢复就成了一个问题。

解决方案由三个tmux插件组成。

  1. tpm:tmux plugin manager。这个是用来管理tmux插件的。有了它之后,就可以很轻松地安装和写在tmux插件。
  2. tmux-resurrect:这个是主角,提供了保存tmux会话到磁盘,以及从磁盘上加载保存的会话的功能。但是只能在需要的时候手动操作。
  3. tmux-continuum:提供了定时保存,自动加载,以及开机设置自动启动tmux的功能。需要tmux-resurrect来完成具体的工作。
  • PREFIX + CTRL s:保存会话
  • PREFIX + CTRL r:加载会话