Tmux的会话配置

受一个外国朋友的影响,用了几个月的Tmux.
简直就像打开了新世界的大门。

Tmux结合Vim的体验,Tmux控制多个终端的体验,已经无法割舍了。
当然,当初也是受这位外国小哥的影响,让我捡起了放弃已久的Vim,并爱上了它。
不过用了一段时间,发现虽然可以用tmux attach恢复刚刚关闭的会话,但关机之后并不保存,于是在网上找了一些方法来保存这些会话,好让下次开机依然可以恢复原来的会话。

安装Tmux插件管理工具

1
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

后面的文件夹是自己新建的,刚安装好Tmux的时候,其home目录下的配置文件也需要自己新建。
和Vim类似,Tmux 也有一个插件管理系统,叫 Tmux Plugin Manager。
之后修改Tmux配置文件:

1
2
3
4
5
6
7
8
9
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

记得run的语句一般要放在配置文件的最后一行。

安装默认插件

目前添加了两个插件:tpm和tmux-sensible,是官方推荐的插件,现在已经clone了tpm,下一步就是安装tmux-sensible这个插件。
在Tmux中,安装插件的一些快捷命令如下:

1
2
3
prefix shift-i # install
prefix shift-u # update
prefix alt-u # uninstall plugins not on the plugin list

现在安装tmux-sensible插件:

1
2
3
4
5
Already installed "tpm"
Installing "tmux-sensible"
"tmux-sensible" download success
TMUX environment reloaded.
Done, press ESCAPE to continue.

安装成功。

安装tmux Resurrect & Continuum插件

Tmux Resurrect 和 Tmux Continuum 这两个 Tmux 插件在gayhub上都有托管,主要目的就是解决Tmux的会话备份和恢复。
首先,修改配置文件,加上:

1
set -g @plugin 'tmux-plugins/tmux-resurrect'

然后prefix+shift+i,进入如下所示界面,

1
2
3
4
5
6
Already installed "tpm" [0/0]
Already installed "tmux-sensible"
Installing "tmux-resurrect"
"tmux-resurrect" download success
TMUX environment reloaded.
Done, press ESCAPE to continue.

至此,resurrect插件安装成功。
但是Tmux 的resurrect插件都是靠手动备份的,为了实现自动备份,可以配合tmux continuum插件使用,因此现在安装tmux continum插件:

1
set -g @plugin 'tmux-plugins/tmux-continuum'

然后又是一样的结果:

1
2
3
4
5
6
7
8
Already installed "tpm" [0/0]
Already installed "tmux-sensible"
Already installed "tmux-resurrect"
Installing "tmux-continuum"
"tmux-continuum" download success
TMUX environment reloaded.
Done, press ESCAPE to continue.

好了,又安装成功了。

Recurrect的插件配置

修改配置文件,添加几行配置:

1
2
3
4
5
6
#tmux-resurrect
set -g @resurrect-save-bash-history 'on'
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-strategy-vim 'session'
# set -g @resurrect-save 'S'
# set -g @resurrect-restore 'R'

至此,已经设置了保存键入的历史命令,以及面板布局和Vim状态。
Tmux的手动保存和加载快捷键是:

1
2
prefix Ctrl-s # save tmux session to local file
prefix Ctrl-r # reload tmux session from local file

自动备份配置

在配置文件中加上continuum的配置参数,默认15分钟一次,可以根据自己的需要修改。

1
set -g @continuum-save-interval '60'

自动备份完成,会在Tmux启动时还原。

孤芳自赏,不必捧场。
分享