设置mac shell命令行自动提示补全

标签:   

本文将记录使用命令行时如何开启命令提示补全,completion CLI 命令参考

命令行开启自动提示

设置逻辑

  1. 命令提示功能由cli-completion工具提供完成

  2. 安装电脑相应的cli-completion版本

  3. 设置添加对应命令工具的配置文件

    如开启Kubernetes的命令行工具kubectl的提示,则需要在安装完成cli-completion后增加kubectl的提示配置文件

具体设置步骤

  1. 安装cli-completion工具

    本文所使用的设备为mac,终端使用的是oh-my-zshzsh,则需要下载mac下对应的zsh版cli-completion工具。

    不同设备需要找到适合自己的版本安装

    本文使用mac OS的Homebrew包管理工具进行安装

    # `Homebrew`搜索`cli-completion`工具,找合适自己的版本
    brew search completion
    # 找到了适合自己的版本 zsh-completions
    brew install zsh-completions # 安装
    # 安装完成后依据提示进行基本设置
    
    # 同时可安装自动建议工具
    brew install zsh-autosuggestions

    查找代码补全工具

  2. 为指定命令开启代码提示

    1. 比如为kubectl开启代码提示,首先确认下kubectl官方是否支持代码自动补全提示,有些工具官方会给出自动补全的配置

      kubectl completion zsh # 此命令查看kubectl对zsh的自动补全配置
      kubectl completion bash # 也可查看对bash的配置
    2. 将配置写入cli-completion工具支持文件

      kubectl completion zsh > "${fpath[1]}/_kubectl" #将配置保存到`cli-completion`工具的支持目录下
      source ~/.zshrc # 生效
    3. 到此即可在命令行中使用代码提示,比如命令行输入kubectl后按下tab键

      其他见下方问题

    相关错误问题

    1. zsh compinit: insecure directories, run compaudit for list. Ignore insecure

      # 解决方案就是去掉这些不安全目录属组的写入权限
      compaudit | xargs chmod g-w

      参考: zsh compinit: insecure directories, run compaudit for list解决办法

    参考

    dapr配置completion CLI 命令参考

    macOS上iTerm2开启ZSH自动补全


发表评论 登录

目前评论:1

  • avatar 莫得事 回复 2022-12-01 08:18:20

    命令补全记录