dockerに
$ docker exec -it examplecontainer /bin/bash
で入って色々と作業をしている時に、「Ctrl-p」でヒストリをのぼろうとすると、1回では動かずに2回押すとやっと動くのだけども2つさかのぼってしまうという状況になっていました。
他に、下で書いたipythonで結果がすぐに表示されない、という問題もあったため、バッファリングされている問題?と思ったり、他にもちょっとヒストリの結果が崩れるときがあり、ターミナルのサイズとかがおかしく設定されているのだろうか、と思ったりしました。
が、そんな話をtwitterでつぶやいてたら@tmtmsさんに教えてもらえました…
というわけで、dockerだとデフォルトで「Ctrl-p q」でコンテナを抜ける用になっているため、「Ctrl-p」がエスケープシーケンスとして扱われているので、それでこんな状況が起きてしまうのでした。
これはdocker 1.10以降だと設定で変更できるとのこと。
docker で Ctrl-p 2回押し問題 (detach-keys の問題) を解決するには - Qiita
http://qiita.com/takahiroki/items/60ec916383025160fbb8
自分は下記のようにして「Ctrl-[」の後「q」に指定してみました。
docker toolboxの場合
~/.docker/config.json
に下記行追記
"detachKeys": "ctrl-[,q"
これで無事に「Ctrl-p」一回でちゃんとヒストリをのぼれるようになりました。
とみたさんありがとうございます!