终端复用神器tmux——tmux的自定义配置

Posted by Rpl on December 18, 2019

前言

tmux的默认配置使用起来并不友好。默认配色方案眼睛看起来不舒服,默认前缀键 Ctr b 间隔距离太远,配合按下其他键的话,按键成本太高,非常不方便。 因此,我们可以根据自己的使用习惯和喜好,自定义配置属于自己的tmux。

tmux系列文章:

  1. 终端复用神器tmux——简介及基本使用
  2. 终端复用神器tmux——tmux的自定义配置
  3. 终端复用神器tmux——脚本使用及tmuxinator

一 .tmux.conf文件

在用户的主目录下查找.tmux.conf,如果没有创建~/.tmux.conf文件

1
touch ~/.tmux.conf

二 配置快捷键

1. 重设前缀键

重新设置prefix, 将默认的ctr b, 改为: `

# 重新设置前缀键为 ` -g表示全局global
set -g prefix `

# 取消绑定之前的前缀键C-b
unbind C-b

# 绑定 `-r 快速重新加载配置文件 display 是加载后展示的信息, \; 可以绑定执行多条命令
bind r source-file ~/.tmux.conf \; display "Reloaded OK!"

# 发送前缀键到其他程序 按2次 ` 键,即可将 ` 键当成正常字符发送出去
bind ` send-prefix

2. 设置窗口和面板快捷键

# 设置窗口和面板索引
# 第一个窗口和面板的索引为1
set -g base-index 1
setw -g pane-base-index 1

# -------- 分割面板 --------
# 重新绑定 垂直 水平 分割键
# -v垂直 tmux会在当前面板下创建一个面板, 视觉像是水平分割.
# -h水平 tmux会在当前面板旁边创建一个新面板, 视觉像是垂直分割.
bind | split-window -h
bind - split-window -v


# 重新映射移动键
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

三 设置鼠标移动

有时你可能需要使用鼠标滚轮在终端的缓冲区里向上滚屏,或者你刚开始使用 tmux 时想用鼠标选择窗口和面板。要想在 tmux 里使用鼠标,需要打开鼠标模式:

# 打开鼠标模式
set-option -g mouse on

四 颜色与样式

# --------- 配置颜色 -------------
set -g default-terminal "screen-256color"

# 配置窗口样式
# 配置前景色与背景色
setw -g window-status-fg cyan
setw -g window-status-bg default
# setw -g window-status-attr dim

# 配置当前窗口的颜色
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright

# 配置面板颜色
set -g pane-border-fg green
set -g pane-border-bg default

# 配置当前面板颜色
set -g pane-active-border-fg yellow
set -g pane-active-border-bg default

set -g message-fg white
set -g message-bg black
set -g message-attr bright


五 配置状态栏

# 设置底部状态栏的背景色和前景色
set -g status-fg white
set -g status-bg default
set -g status-left-length 40
set -g status-left "#[fg=green]S:#S  #[fg=yellow]W:#I  #[fg=cyan]P:#P"

set -g status-right "#H    #[fg=cyan]%Y-%m-%d %R"


set -g status-interval 60


set -g status-justify centre

# 状态更新监控
# setw -g monitor-activity on
# set -g visual-activity on

更多配置请查看: tmux: Productive Mouse-Free Development》中文翻译


参考:

[1] tmux: Productive Mouse-Free Development》中文翻译

[2] tmux使用手册