tmux 配置文件分享


共计 4690 个字符,预计需要花费 12 分钟才能阅读完成。

复制了很多的 oh-my-tmux 相关配置,然后加入自己的配置。

为了使用插件,需要先运行如下命令:

# 安装tmp插件
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

tmp 插件时一个插件管理器,能够方便的进行其他插件的安装、升级和卸载。安装好插件管理器以后,编辑 ~/.tmux.conf,添加如下内容即可。

# -- 通用 -------------------------------------------------------------------
set -g default-terminal "screen-256color"

setw -g xterm-keys on
set -s escape-time 10                     # 设置按键序列的逃逸时间为 10 毫秒
set -sg repeat-time 600                   # 设置按键重复超时时间为 600 毫秒,即按住一个键超过 600 毫秒后开始重复输入。
set -s focus-events on                    # 开启焦点事件,以便在窗格之间切换时正确传递焦点。

#set -g prefix2 C-a                        # 设置第二个前缀键为 C-a,使其与 GNU Screen 兼容。
#bind C-a send-prefix -2                   # 绑定 C-a 键为发送前缀键(即发送第二个前缀键)。

set -q -g status-utf8 on                  # 设置状态栏为 UTF-8 编码 (tmux < 2.2)
setw -q -g utf8 on                        # 设置 tmux 内部使用的 UTF-8 编码

set -g history-limit 5000                 # 设置命令历史记录的限制为 5000 条

# 绑定 e 键为修改并重载 tmux.conf
bind e new-window -n "$HOME/.tmux.conf" sh -c '${EDITOR:-vim} "$HOME/.tmux.conf" && "tmux" source "$HOME/.tmux.conf" \; display "$HOME/.tmux.conf sourced"'
# 绑定 r 键为重载 tmux.conf
bind r run '"tmux" source $HOME/.tmux.conf' \; display "$HOME/.tmux.conf sourced"

# -- display -------------------------------------------------------------------

set -g base-index 1           # 将窗口编号的起始值设置为 1  
setw -g pane-base-index 1     # 将窗格编号的起始值设置为 1  

setw -g automatic-rename on   # 启用自动重命名窗口功能,使窗口名称反映当前程序的名称。
set -g renumber-windows on    # 在关闭窗口时重新编号其他窗口,以保持窗口编号的连续性

set -g set-titles on          # 设置终端标题,使其显示当前 tmux 的会话和窗口信息。

set -g display-panes-time 1500 # 设置窗格指示器显示的时间-prefix q
set -g display-time 1000       # 设置状态消息显示的时间

set -g status-interval 10     # 每隔 10 秒重新绘制状态栏,以更新状态信息。

# 绑定 C-l 键为清除屏幕和历史记录的操作:
bind -n C-l send-keys C-l \; run 'sleep 0.2' \; clear-history

# 开启活动监测功能,当有活动(输入或输出)发生时,窗口会显示活动指示器。
set -g monitor-activity on
# 关闭可视化活动指示器,即窗口不会以可见方式显示活动指示器。
set -g visual-activity off

# -- navigation ----------------------------------------------------------------

# 将 C-c 键绑定为创建新的 tmux 会话。
bind C-c new-session

# 将 C-f 键绑定为打开命令提示符,可以输入会话名称来查找并切换到指定的会话。
bind C-f command-prompt -p find-session 'switch-client -t %%'

# 将 BTab 键(即 Shift+Tab 键)绑定为切换到上一个会话。
bind BTab switch-client -l

# 将 - 键绑定为在当前窗口中水平分割窗格。
bind - split-window -v
# 将 _ 键绑定为在当前窗口中垂直分割窗格。
bind _ split-window -h

# 绑定 hjkl 为切换窗格,默认可以用箭头的上下左右
bind -r h select-pane -L
bind -r j select-pane -D
bind -r k select-pane -U
bind -r l select-pane -R
bind > swap-pane -D       # 将 > 键绑定为将当前窗格与下一个窗格进行交换。
bind < swap-pane -U       # 将 < 键绑定为将当前窗格与上一个窗格进行交换。

# 将 + 键绑定为最大化当前窗格的命令。
bind + run "cut -c3- '#{TMUX_CONF}' | sh -s _maximize_pane '#{session_name}' '#D'"

# 将 HJKL 绑定为调整当前窗格大小两个单位
bind -r H resize-pane -L 2
bind -r J resize-pane -D 2
bind -r K resize-pane -U 2
bind -r L resize-pane -R 2

# window navigation
unbind n
unbind p
bind -r C-h previous-window # 将 Ctrl+h 键绑定为选择上一个窗口。
bind -r C-l next-window     # 将 Ctrl+l 键绑定为选择下一个窗口。
bind Tab last-window        # 将 Tab 键绑定为切换到上一个活动的窗口。

# 将 m 键绑定为切换鼠标模式的命令
bind m run "cut -c3- '#{TMUX_CONF}' | sh -s _toggle_mouse"

# -- 窗口及状态栏 ----------------------------------------------------------------
# default statusbar colors
#set -g status-bg black
#set-option -g status-left '#[bg=black,fg=green][#[fg=cyan]#S#[fg=green]]'
#setw -g window-status-format '#[fg=brightblue] #I #W '
#setw -g window-status-current-format '#[fg=magenta,bold] #I #W:#F'
#setw -g window-status-activity-style bg=black
#setw -g window-status-bell-style bg=black

# -- 其他 ----------------------------------------------------------------
set-option -g prefix M-q                  # 设置前缀键为 M-q(Alt-q)
bind-key M-q send-prefix                  # 绑定 M-q 键为发送前缀键

# 将回车键绑定为在当前窗口中水平分割窗格。
bind-key Enter split-window -v
# 将 | 键绑定为在当前窗口中垂直分割窗格。
bind-key | split-window -h

# tmux2.1之后启用鼠标支持
#set-option -g mouse on
# tmux2.1之前
#set -g mouse-resize-pane on #鼠标调整窗格
#set -g mouse-select-pane on #鼠标选择窗格
#set -g mouse-select-window on #拷贝模式鼠标选择文本
#set -g mode-mouse on #鼠标支持开关

# 设置关闭当前窗格为esc键
bind-key Escape confirm-before -p "kill-pane? (y/n)" kill-pane

# 绑定 Alt-m 删除其他会话
bind-key -n M-m run-shell "rm -rf ~/.local/share/tmux/resurrect; tmux list-sessions | grep -v 'attached' | cut -d ':' -f 1 | xargs -I {} tmux kill-session -t {}; tmux send-keys ls Enter"

# -- 插件----------------------------------------------------------------
# 插件地址:https://github.com/tmux-plugins/list
set -g @plugin 'tmux-plugins/tpm' # 安装 shift+i、升级 shift+u、卸载 Alt+u
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect' # 可以保存和恢复会话
set -g @plugin 'tmux-plugins/tmux-continuum' # 自动保存和恢复会话
set -g @plugin 'tmux-plugins/tmux-sidebar' # 可以使用 prefix tab 查看目录树
set -g @plugin 'dracula/tmux'
#set -g @plugin 'erikw/tmux-powerline'  

# dracula 主题配置:https://draculatheme.com/tmux
# 需要使用的dracula插件
set -g @dracula-plugins "time cpu-usage ram-usage"
# 颜色配置
set -g @dracula-time-colors "green dark_gray"
set -g @dracula-cpu-usage-colors "pink dark_gray"
set -g @dracula-ram-usage-colors "cyan dark_gray"
# 状态栏配置
set -g @dracula-show-powerline true
# 设置左侧icon,可以为 `session`, `smiley`, `window` 或者其他符号,默认为smiley
set -g @dracula-show-left-icon session

# 设置时间格式
set -g @dracula-time-format "%F %R"
# 配置分隔符,不需要配置zsh即可实现箭头样式,但是需要设置为.tmux.conf文件内容需要设置为utf-8
#set -g @dracula-show-left-sep 
#set -g @dracula-show-right-sep 
set -g @dracula-show-left-sep 
set -g @dracula-show-right-sep 

# 开启自动保存会话,文件在 ~/.local/share/tmux/resurrect
set -g @continuum-restore 'on'  
# 修改自动保存间隔,如果改成0则停止自动保存
set -g @continuum-save-interval '15'

# 初始化tmux插件管理器,必须放最下面一行
run -b '~/.tmux/plugins/tpm/tpm'

添加以后,执行如下命令重载配置:

tmux source ~/.tmux.conf

提醒:本文发布于368天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END