tmux 配置里我真正在用的部分
网上那些 tmux 配置动辄两三百行,插件管理器、主题、五十个快捷键。 我用过,最后都删了。下面是留下来的部分,一共不到三十行, 几年没改过。
# ~/.tmux.conf
# 从 1 开始编号,和键盘上的位置对齐
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on
# 关掉自动改名。我按用途起名,不想被当前跑的命令覆盖
setw -g automatic-rename off
setw -g allow-rename off
# 历史行数。默认 2000 太少了,翻日志的时候很痛苦
set -g history-limit 50000
# 给 vim 用:esc 不要等
set -sg escape-time 0
# 鼠标。主要是为了滚轮翻历史,别的很少用
set -g mouse on
# 复制模式下用 vi 的键位
setw -g mode-keys vi
# 窗口从 0 开始会有个问题:数字键 0 离手太远,所以改成从 1 开始
# 状态栏简化。默认那一条太长了
set -g status-interval 5
set -g status-left "[#S] "
set -g status-right "%H:%M"
set -g status-style "bg=default,fg=default"
为什么不用插件
装过一次 TPM,为了一个会话保存的插件。后来发现我要保存的会话就那几个,
写个 tmux new-session -d -s work 的脚本比插件简单。
插件的问题不是慢,是升级。有一次更新之后几个快捷键失效了, 排查发现是版本不兼容。从那以后就不用了。
几个肌肉记忆的操作
prefix + z把当前窗格放大到全屏,再按一次还原。用得最多。prefix + space切换布局。两三个窗格的时候比手动调省事。prefix + {/}交换窗格位置,贴日志的时候常用。prefix + [进复制模式,/搜索,Enter复制,prefix + ]粘贴。
一个踩过的坑
mouse on 之后,普通终端里选中文字会被 tmux 拦截,没法直接复制到系统剪贴板。
按住 Shift 再选可以绕过,用终端自己的选择。
知道这个之前我一直以为是自己终端的问题。
另外 escape-time 0 在某些老版本上会让功能键响应异常,
如果升级 tmux 之后发现 F 键不好使了,先把这个改回 10 试试。