CTRL+Pを二回押さないとBashの履歴機能が使えない

DockerでCentOSやらUbuntuやらのイメージをダウンロードしてコンテナを起動し、コンテナにログインした状態で作業をしていました。

ところが、どういうわけか、CTRL+Pを二回押さないと前の履歴が表示されません(ちなみに、CTRL+Nの方は、一回で先の履歴が表示されます)。

どうしたものかと、『bash 履歴 CTRL-P 二回』でググッてみたところ、ドンピシャのページがヒットしました。😊

»docker で Ctrl-p 2回押し問題 (detach-keys の問題) を解決するには

上記サイトから記事をいろいろたどってみ分かったのは、Dockerでは、CTRL+P CTRL+Nでコンテナからデタッチできるようになっているそうです。
つまり、コマンドラインから『exit』と入力しなくても、CTRL+P CTRL+Nで脱出できます。

CTRL+Pがデタッチ開始機能に割り当てられているので、~/.docker/config.jsonで別のキーに割り当ててやれば、一発で履歴が効くようになります。

■~/.docker/config.jsonに以下の項目を追加する。

"detachKeys": "ctrl-\\"

※1 jsonファイルなので、実際は以下のようになる。
※2 .dockerディレクトリがない場合は作成する。

{
    "detachKeys": "ctrl-\\"
}