我经常发现自己处于这种情况:
- 我开始在终端上做一些事情。
- 我需要更多的终端空间,所以我打开了
tmux
。 - 历史记录消失了,甚至我想要在 tmux 中运行的命令也消失了。
如何将当前 bash 历史记录移植到新的 tmux 会话中?理想情况下,我可以将其添加到 tmux 配置中,否则我可以将其放入别名中,例如tmuxhist
。
答案1
将其放入您的~/.bashrc
:
export PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
shopt -s histappend
此解决方案不仅适用于 tmux,它还适用于 GNU screen 或选项卡式终端,或者只是打开新的 xterm 窗口。基本上,它表示“将每个命令附加到历史记录中,并确保 bash 在退出时不会清空历史记录文件”。
这也意味着您可以在 tmux 中打开一个新窗格,然后按 ctrl+p 来执行上一个窗格中的最后一条命令。