我应该如何安装 zsh 完成脚本以便它适用于所有 platforms/frameworks?
How should I install a zsh completion script so that it works on all platforms/frameworks?
我写了一个脚本供我的工作内部使用(它对我工作之外的任何人都没有多大用处)。我现在有一个不错的 zsh 完成脚本,效果很好。
我想在脚本上创建一个 --install-zsh-completions
选项,它会自动设置完成。
我看到有多种不同的方式可以设置 zsh,具体取决于您是使用 oh-my-zsh、prezto 还是您自己的配置。例如,在 oh-my-zsh
中,您可以将完成脚本放在 ~/.oh-my-zsh/completions
中并加载它们。
zsh 中是否有标准的位置或方式来安装 zsh 自定义完成脚本?例如,我是否应该只修改 .zshrc 并添加到 fpath
?
Is there a standard place or way in zsh to install zsh custom completion scripts?
是的,有:只需在 /usr/local/share/zsh/site-functions
中创建一个指向您的完成函数的符号链接。仅此而已。
默认情况下,此目录在每个用户的 $fpath
中。因此,当他们(或他们使用的任何框架)调用 compinit
时,它将被自动拾取。
我写了一个脚本供我的工作内部使用(它对我工作之外的任何人都没有多大用处)。我现在有一个不错的 zsh 完成脚本,效果很好。
我想在脚本上创建一个 --install-zsh-completions
选项,它会自动设置完成。
我看到有多种不同的方式可以设置 zsh,具体取决于您是使用 oh-my-zsh、prezto 还是您自己的配置。例如,在 oh-my-zsh
中,您可以将完成脚本放在 ~/.oh-my-zsh/completions
中并加载它们。
zsh 中是否有标准的位置或方式来安装 zsh 自定义完成脚本?例如,我是否应该只修改 .zshrc 并添加到 fpath
?
Is there a standard place or way in zsh to install zsh custom completion scripts?
是的,有:只需在 /usr/local/share/zsh/site-functions
中创建一个指向您的完成函数的符号链接。仅此而已。
默认情况下,此目录在每个用户的 $fpath
中。因此,当他们(或他们使用的任何框架)调用 compinit
时,它将被自动拾取。