開啟 tmux 會話時如何移植目前的 bash 歷史記錄?

開啟 tmux 會話時如何移植目前的 bash 歷史記錄?

我經常發現自己處於這種情況:

  • 我開始在終端機上做一些事情。
  • 我需要更多終端空間,所以我打開tmux.
  • 歷史已經消失,甚至是我想在 tmux 中運行的命令。

如何將目前的 bash 歷史記錄移植到新的 tmux 會話中?理想情況下,我可以將一些東西添加到 tmux 配置中,否則我可以將一些東西放在別名中,例如tmuxhist.

答案1

把這個放在你的~/.bashrc

export PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
shopt -s histappend

該解決方案並不特定於 tmux,它也可以與 GNU 螢幕或選項卡式終端機一起使用,或者只是打開新的 xterm 視窗。基本上,它說「附加到每個命令的歷史記錄,並確保 bash 在退出時不會清空歷史記錄檔案」。

這也表示您可以在 tmux 中開啟新窗格,然後按 ctrl+p 來取得上一個窗格中執行的最後一個指令。

答案2

history -w; tmux有點起作用了。

alias tmuxhist='history -w; tmux'為其建立一個別名。

不幸的是不可能在 tmux 設定中新增啟動時執行的命令。

相關內容