Zsh下配置Docker命令补全

2022年 9月 30日 47.3k 0

纸上得来终觉浅,绝知此事要躬行。

Zsh下配置Docker命令补全

在 MacOS 系统下,使用 oh-my-zsh 基本上可以补全绝大多数的常用命令,但是比如我们自己额外安装的命令是不会自动提示命令参数以及补全信息的,这就导致比较尴尬了。

今天我这里说的,主要是如何补全 Docker 以及其附属的命令组合。因为 Zsh 中并没有对应的补全提示信息,导致使用非常的蹩脚,而且 oh-my-zsh 的扩展中还没有带对应 Docker 命令的补全插件,惜败。

  • 配置 ZSH 补全扩展
# 如果你使用oh-my-zsh需要clone仓库到oh-my-zsh仓库
$ git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions

# 并且在.zshrc中开启自动完成插件
$ vim ~/.zshrc
plugins=(… zsh-completions)

# 然后重载zsh配置
$ autoload -U compinit && compinit
  • 补全 Docker 相关命令
# 创建对应的目录
$ mkdir -p ~/.zsh/completion

# 从docker安装目录中获取补全插件
$ ll /Applications/Docker.app/Contents/Resources/etc
[email protected] 1 Escape  admin    13K  8 27 19:44 docker-compose.bash-completion
[email protected] 1 Escape  admin    19K  8 27 19:44 docker-compose.zsh-completion
[email protected] 1 Escape  admin    12K  8 27 19:44 docker-machine.bash-completion
[email protected] 1 Escape  admin    13K  8 27 19:44 docker-machine.zsh-completion
[email protected] 1 Escape  admin   105K  8 27 19:44 docker.bash-completion
[email protected] 1 Escape  admin    49K  8 27 19:44 docker.fish-completion
[email protected] 1 Escape  admin   123K  8 27 19:44 docker.zsh-completion

# 配置到zsh配置目录中
$ cp /Applications/Docker.app/Contents/Resources/etc/docker.zsh-completion ~/.zsh/completion/_docker
$ cp /Applications/Docker.app/Contents/Resources/etc/docker-compose.zsh-completion ~/.zsh/completion/_docker-compose
$ cp /Applications/Docker.app/Contents/Resources/etc/docker-machine.zsh-completion ~/.zsh/completion/_docker-machine

# 重载zsh配置
$ docker image
image   -- Manage images
images  -- List images
import  -- Import the contents from a tarball to create a filesystem image

当然,为了方便起见,还是讲对应的命令放到 ~/.zshrc 脚本中。之后,再启动终端的时候,就会自动加载 ~/.zsh 目录下的 Docker 命令补全扩展了。

$ vim ~/.zshrc
autoload -Uz compinit && compinit -i
......

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论