byobuで複数のセッションを切り替えて使っているときにセッション間の履歴を共有できないのに困っていた。
例えば
セッション0 の履歴がこれで
セッション1 の履歴がこれ。
Ctrl + p して入力履歴を呼び出すときにセッションごとに履歴が異なるのが困る。全てセッションでhistoryを共有したい。
やりかた調べたらあった。素晴らしい記事。
早速やってみる。セッション0 のほうで ~/.bashrc を編集。
$ vim ~/.bashrc
2行を追記する。
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
shopt -u histappend
セッション0 で ~/.bashrc を読み込む。
$ source ~/.bashrc
セッション1 で ~/.bashrc を読み込む。
$ source ~/.bashrc
動作を確認してみる。
セッション0 のhistoryを見る。
$ history | tail -n 5
セッション1 のhistoryを見る。
$ history | tail -n 5
行番号は違うけど内容が完全に一致したのが分かる。Ctrl + p で履歴をたどる時や、Ctrl + r で履歴からインクリメントサーチするときに、どのセッションからでも同じ履歴を呼び出せる。
こういう知恵が幾層にも積み重なっているのがLinux。ほんと最高。