Docker Keybinding
问题
用 docker
这么久,有一个问题一直令人不爽:ctrl+p
向上翻行的时候,总会吞掉一行。
但因为容器只是用来作为运行环境,而且还可以用箭头来进行翻动,就一直留着没去解决它。
今天解决了一堆 DaRemote 关于 Top 10 Processes
的 bug,不想再继续写代码;而儿子又睡着,终于无聊得想来着手解决这个恼人的问题。
原因
产生这个问题的原因非常简单:docker
容器的 detach
快捷键默认是 ctrl+p, ctrl+q
。当系统收到第一个 第一个 ctrl+p
的时候,会等待后面的按钮来判断是否快捷键,如果后面的 ctrl+q
则无论按什么键都会把 ctrl+p
和后面的按钮一起发送。
所以,如果后面的按钮是 ctrl+p
或是是 上下键
,就会出现中间被吞掉一行的错觉。
解决
解决方法也是非常简单:修改 detachKeys
的键绑定。它存储在 ~/.docker/config.json
文件中(如果没有可以自己创建),如下:
{ |
其他
docker
的另外一个问题,是使用 docker attach
进入某些容器时,不会出现提示符,需要再按任意键才行。
这个问题下次再研究。