跳到主要内容

completion

生成并安装 shell 补全脚本,为命令、子命令和标志提供 Tab 补全。

何时使用

  • 你希望为 skillshare 命令和标志启用 Tab 补全
  • 你设置了一台新机器或新的 shell 环境
  • 你使用别名(例如 ss)并希望补全能与它配合工作

语法

# 自动安装(推荐)
skillshare completion bash --install
skillshare completion zsh --install
skillshare completion fish --install
skillshare completion powershell --install
skillshare completion nushell --install

# 将脚本输出到 stdout(进阶用法)
skillshare completion bash
skillshare completion zsh > ~/.zsh/completions/_skillshare

支持的 Shell

Shell安装路径
bash~/.local/share/bash-completion/completions/skillshare
zsh~/.zsh/completions/_skillshare
fish~/.config/fish/completions/skillshare.fish
powershell~/.config/powershell/completions/skillshare.ps1
nushell~/.config/nushell/completions/skillshare.nu

标志

标志描述
--install将补全脚本写入标准安装路径
--help, -h显示用法

补全范围

生成的脚本为以下内容提供 Tab 补全:

  • 命令——所有顶级命令(syncinstalllist 等)
  • 子命令——target add/remove/listtrash list/restore/delete/emptyhub add/list/remove/default/indexextras init/list/remove/collect/source/modeaudit rulesbackup restore
  • 标志——各命令的标志及其简写形式(--dry-run/-n--force/-f 等)
  • 全局标志——--project/-p--global/-g

别名支持

bash、zsh 和 PowerShell 脚本会自动检测指向 skillshare 的别名,并为它们注册补全:

alias ss=skillshare
source <(skillshare completion bash)
ss sy<Tab> # → ss sync

Fish 的别名(其本质是函数包装器)会自动继承补全。

对于 Nushell,在配置中使用 alias ss = skillshare 时,别名补全会被原生继承。

安装后的步骤

执行 --install 后,你可能需要激活补全:

Bash

# 重启 shell,或者:
source ~/.local/share/bash-completion/completions/skillshare

Zsh

添加到你的 .zshrc(如果尚未添加):

fpath=(~/.zsh/completions $fpath)
autoload -Uz compinit && compinit

然后重启 shell 或运行 exec zsh

Fish

在新的 fish 会话中会自动可用补全。

PowerShell

添加到你的 PowerShell profile 中(echo $PROFILE):

. ~/.config/powershell/completions/skillshare.ps1

Nushell

添加到你的 Nushell 配置中($nu.config-path):

source ~/.config/nushell/completions/skillshare.nu

示例

$ skillshare completion bash --install
✔ Completion script installed to /home/user/.local/share/bash-completion/completions/skillshare

ℹ Restart your shell or run:
source /home/user/.local/share/bash-completion/completions/skillshare

另请参阅