根据手册页,如果我运行此命令:
tmux source-file ~/.tmux.conf
tmux 将执行 ~/.tmux.conf 中的命令。但是,例如,如果我向 tmux.conf 添加一个键绑定,然后将其删除,即使我获取该文件,该键绑定也会保留(这是合乎逻辑的,因为没有针对该绑定执行的实际命令)。
所以我想知道,在获取配置之前,是否有一种方法可以以某种方式清除 tmux 的内部状态(所有绑定、设置等),以便它以默认状态开始?
答案1
更改tmux
配置并在现有tmux
会话中重新读取它只会更改配置文件显式更改的设置。例如,从配置文件中删除键绑定不会在您重新加载配置时取消绑定该键,除非您也在配置中显式取消绑定它。
这类似于获取一个带有变量赋值的 shell 脚本;您将其获取一次,这会设置变量,然后将其从文件中删除并再次获取。这不会删除 shell 变量。
从头开始重新读取配置文件的最简单方法是退出tmux
并重新启动它。tmux
将在其所有会话结束后立即退出,例如,如果您从 中退出所有 shell 会话,就会发生这种情况tmux
。您还可以从内部发出tmux
命令来终止服务器和所有会话。kill-server
tmux
tmux