tmux常用配置说明

tmux作为Linux三大神器之一,结合zshvim堪称无敌,tmux作为分屏利器自有其强大之处,本文就其常用配置予以说明。

安装tmux

# install in ubuntu
$ sudo apt-get install tmux
  • Ctrl+B: default keys of tmux prefix
  • .tmux.conf: config file of tmux
  • tmux source-file .tmux.conf: command to reload .tmux.conf

禁止自动更新窗口名称

默认情况下,tmux会根据当前目录及相关操作自动更改窗口名称,但通常情况下,我们是不需要其修改的,为此可以在配置文件中添加:

setw -g allow_rename 'off'

设置zsh作为默认shell

如果先安装的tmux, 后安装和配置zsh,那tmux有可能默认打开使用的是bash,此时可以使用以下配置指令予以更改:

set-option -g default-shell /bin/zsh

设置vim作为默认编辑器

tmux的搜索模式prefix+[下,默认使用↑↓←→箭头作为移动按键,对于习惯于vim操作的我来讲,这显然很不方便,还好tmux提供了使用vim作为编辑器的选项,启用配置如下:

setw -g mode-keys vi

解决配色问题

tmux中,有可能部分应用的配色与纯shell下不一致,尤其是vim,后来发现htop也存在这个问题。要解决很简单,在tmux配置中加上一句:

set -g default-terminal "screen-256color"

存储/恢复tmux工作环境

如果在服务器上使用tmux,由于服务器基本不关机,所以不用考虑tmux环境会丢失。但是在个人电脑上使用的话,重启电脑后tmux环境就丢失了,如果每次重启都要重新配置一遍环境的话,那未免太浪费时间了。所以这里推荐个插件tmux-resurrect

tmux-resurrect可以对tmux环境进行保存和恢复,安装及配置如下:

$ mkdir ~/.tmux
$ git clone https://github.com/tmux-plugins/tmux-resurrect ~/.tmux/tmux-resurrect

# edit .tmux.conf at the bottom
$ vi ~/.tmux.conf
run-shell ~/.tmux/tmux-resurrect/resurrect.tmux

# re source .tmux.conf
$ tmux source-file ~/.tmux.conf

tmux-resurrect用法:

  • prefix + Ctrl-s - save
  • prefix + Ctrl-r - restore

插件tmux-resurrect还可以结合插件tmux-continum一起使用,tmux-continum可以自动定时存储环境,在开机后打开tmux时自动恢复环境,这就避免了人为存储和恢复的麻烦以及因忘记存储导致的环境丢失。tmux-continum的安装及配置如下:

$ git clone https://github.com/tmux-plugins/tmux-continuum ~/.tmux/tmux-continum

# edit .tmux.conf
$ vi ~/.tmux.conf
set -g @continuum-restore 'on'  # restore last saved env
set -g @continuum-save-interval '30'  # default is 15 minutes
run-shell ~/.tmux/tmux-continum/continuum.tmux

$ tmux source ~/.tmux.conf

说明

  1. 以上两个插件都是手动安装的,其实也可以使用tmux的插件管理器tpm进行安装,这里就不详述了。
  2. 以上插件要求tmux版本大等于1.9

参考