为什么 tmux 设置会重置,以及如何自动重新加载它们?
Why are tmux settings reset, and how to automatically reload them?
每次我重新打开 tmux 时,.tmux.conf 中的一些设置都会被重置,我必须 运行 tmux source-file ~/.tmux.conf
才能重新应用它们。奇怪的是,有些设置没有重置。
例如,这些在 tmux 会话中存活:
# Use | and - for splitting windows
bind-key | split-window -h
bind-key - split-window -v
这些每次会话都会重置:
# Change default 'prefix' key to '`'
set prefix `
unbind-key C-b
bind-key ` send-prefix
为什么行为不同?
有没有办法在 tmux 会话启动时自动重新加载 .tmux.conf?
set -g prefix `
停止这些命令的重置。
如果不重置就不需要自动重新加载,这里重置的是set-prefix
(或"set-option")块,因为set-option对[=24=敏感].如果没有 -g
,set-option 默认为会话模式。但是由于最初没有 tmux 会话将自身应用到 到 ,它直到 .tmux.conf 在新的 tmux 会话中重新获取资源后才起作用。从 man
页面,
If -g is given, the global session or window option is set.
将其设置为全局会话会将命令预应用到所有新的 tmux 会话。
每次我重新打开 tmux 时,.tmux.conf 中的一些设置都会被重置,我必须 运行 tmux source-file ~/.tmux.conf
才能重新应用它们。奇怪的是,有些设置没有重置。
例如,这些在 tmux 会话中存活:
# Use | and - for splitting windows
bind-key | split-window -h
bind-key - split-window -v
这些每次会话都会重置:
# Change default 'prefix' key to '`'
set prefix `
unbind-key C-b
bind-key ` send-prefix
为什么行为不同?
有没有办法在 tmux 会话启动时自动重新加载 .tmux.conf?
set -g prefix `
停止这些命令的重置。
如果不重置就不需要自动重新加载,这里重置的是set-prefix
(或"set-option")块,因为set-option对[=24=敏感].如果没有 -g
,set-option 默认为会话模式。但是由于最初没有 tmux 会话将自身应用到 到 ,它直到 .tmux.conf 在新的 tmux 会话中重新获取资源后才起作用。从 man
页面,
If -g is given, the global session or window option is set.
将其设置为全局会话会将命令预应用到所有新的 tmux 会话。