如何将我当前的终端状态(非 tmux)转换为新的 tmux 会话?

How can I convert my current terminal state (non-tmux) to a new tmux session?

通常在处理项目时,我首先打开一个终端并正常执行命令,然后发现我需要另一个终端 window 所以我开始一个 tmux 会话并分成 2 个, 3, 等窗格。但是,我正在使用 ros 和其他工具,经常需要执行 source devel/setup.bash 等命令来设置环境变量并使某些工具可用。

有没有一种简单的方法可以自动将我当前的终端状态(包括向上箭头历史记录、环境变量、所有 sourced 等转换为新的 tmux 会话?像 tmux new-session --from-current-state?

我知道我可以使用配置在新的 tmux 启动时自动执行 运行 命令,但我宁愿让它灵活地使用当前的终端状态,以便我可以将它用于多个项目等,而无需为每个环境编写新的配置文件。

感谢您的建议。我想我会选择 echo "tmux" >> ~/.bashrc...