真正重新加载 tmux 配置吗?

真正重新加载 tmux 配置吗?

根据手册页,如果我运行此命令:

tmux source-file ~/.tmux.conf

tmux 将执行 ~/.tmux.conf 中的命令。但是,例如,如果我向 tmux.conf 添加一个键绑定,然后将其删除,即使我获取该文件,该键绑定也会保留(这是合乎逻辑的,因为没有针对该绑定执行的实际命令)。

所以我想知道,在获取配置之前,是否有一种方法可以以某种方式清除 tmux 的内部状态(所有绑定、设置等),以便它以默认状态开始?

答案1

更改tmux配置并在现有tmux会话中重新读取它只会更改配置文件显式更改的设置。例如,从配置文件中删除键绑定不会在您重新加载配置时取消绑定该键,除非您也在配置中显式取消绑定它。

这类似于获取一个带有变量赋值的 shell 脚本;您将其获取一次,这会设置变量,然后将其从文件中删除并再次获取。这不会删除 shell 变量。

从头开始重新读取配置文件的最简单方法是退出tmux并重新启动它。tmux将在其所有会话结束后立即退出,例如,如果您从 中退出所有 shell 会话,就会发生这种情况tmux。您还可以从内部发出tmux命令来终止服务器和所有会话。kill-servertmuxtmux

相关内容