真正重新加载 tmux 配置?

lau*_*ent 8 tmux

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

tmux source-file ~/.tmux.conf
Run Code Online (Sandbox Code Playgroud)

tmux 将执行 ~/.tmux.conf 中的命令。但是,例如,如果我将键绑定添加到 tmux.conf,然后将其删除,键绑定会保留,即使我提供了文件(这是合乎逻辑的,因为没有实际命令来执行该绑定)。

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

Kus*_*nda 6

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

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

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