Oh My Zsh docker 补全问题

失效

突然发现 docker completion 不好用了

但也不是完全的失效,比如docker<tab>里没有 image 了

docker stop<tab>并不列出容器列表了,只有当前目录列表

原因出在 docker 24 的版本更新,官方建议了一种新的方法来生成 completion

但体验是真的不好,所以有老哥打了回到过去的补丁

1
zstyle ':omz:plugins:docker' legacy-completion yes

在 plugins=(…) 之前加即可,如果没有生效可以清除一些缓存

1
2
3
4
5
6
7
8
rm .zcompdump*
rm -rf .oh-my-zsh/cache/*
source .zshrc

[17:39:18] [~] ❱❱❱ docker rm
496f74645e6b local-nginx -- 3 months, nginx
53ad58bb6618 hyperf -- 15 months, hbspy/hyperf
de0e0ad2cecf insight -- 7 months, insight

回来啦!

参考

Use old-style completion

Completion is not working properly with Docker version 24.0.2 #11789