一、自定义配置tmux
自定义 tmux 就像编辑一个文本文件一样简单。Tmux 使用一个名为 tmux.conf
的文件来存储其配置。如果你将该文件保存为 ~/.tmux.conf
(注意:文件名以句点开头,这是一个隐藏文件),tmux 将为当前用户选择此配置文件。如果你想为多个用户共享配置,也可以将你的 tmux.conf
放入系统范围的目录中。这个目录的位置在不同的操作系统中会有所不同。man 页面( man tmux
)会告诉你确切的位置,只需查看 -f
参数的文档即可。
二、 更自然的快捷键前缀
对于 tmux 用户来说,最常见的改动之一就是将前缀键从不太顺手的 C-b
改为更易操作的键位。我个人使用的是 C-a
,这样一来,我就能很方便地触发前缀键组合了。
要将前缀从 C-b
更改为 C-a
,只需在 tmux.conf
中添加以下行:
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
三、直观的分割命令
我个人觉得很难记住的另一件事是窗格拆分命令。 "
用于垂直拆分, %
用于水平拆分,对我来说不太容易记住。我发现使用类似于拆分视觉表示的字符很有帮助,所以我选择了 |
和 -
分别用于水平和垂直拆分窗格:
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
四、更快速的切换窗口
在 tmux 中,切换窗格是最常见的任务之一,因此应该尽可能简便。我并不太喜欢频繁触发前缀键。我希望能够简单地说 M-<direction>
来前往我想去的地方(记住: M
用于 Meta
,这通常是你的 Alt
键)。通过这一修改,我可以直接按 Alt-left
键前往左窗格(以及其他方向相应地):
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
五、鼠标模式
启用鼠标模式后,您只需点击即可选择窗口和不同的窗格,并通过拖动其边框来调整窗格大小。我发现这非常方便,而且它通常不会妨碍我,所以我通常会启用它:
# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on
六、停止自动重命名窗口
我喜欢使用 ,
键为我的 tmux 窗口设置自定义名称。这有助于我根据窗口所专注的内容来命名。默认情况下,tmux 会根据该窗口中最后执行的命令自动更新窗口标题。为了防止 tmux 覆盖我精心选择的窗口名称,我想抑制这种行为:
# don't rename windows automatically
set-option -g allow-rename off
七、改变tmux的外观
由于 tmux 允许你调整许多元素的外观(例如窗格的边框、状态栏及其各个元素、消息等),你需要添加一些选项以获得一致的外观和感觉。你可以根据自己的喜好将其设置得简单或复杂。Tmux 的 man 页面(特别是 STYLES 部分)包含更多关于你可以调整的内容以及如何进行调整的信息。
根据我的配色方案,生成的 tmux 看起来会像这样:
# DESIGN TWEAKS
# don't do anything when a 'bell' rings
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none
# clock mode
setw -g clock-mode-colour yellow
# copy mode
setw -g mode-style 'fg=black bg=red bold'
# panes
set -g pane-border-style 'fg=red'
set -g pane-active-border-style 'fg=yellow'
# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'fg=red'
set -g status-left ''
set -g status-left-length 10
set -g status-right-style 'fg=black bg=yellow'
set -g status-right '%Y-%m-%d %H:%M '
set -g status-right-length 50
setw -g window-status-current-style 'fg=black bg=red'
setw -g window-status-current-format ' #I #W #F '
setw -g window-status-style 'fg=red bg=black'
setw -g window-status-format ' #I #[fg=white]#W #[fg=yellow]#F '
setw -g window-status-bell-style 'fg=yellow bg=red bold'
# messages
set -g message-style 'fg=yellow bg=red bold'
八、重新加载tmux配置
接下来只需要,重新加载tmux配置文件即可完成配置:
tmux source-file ~/.tmux.conf
本文内容翻译整理来至:Make tmux Pretty and Usable - A Guide to Customizing your tmux.conf - Ham Vocke