首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >zsh:找不到命令:{compinstall,compinit,compdef}

zsh:找不到命令:{compinstall,compinit,compdef}
EN

Unix & Linux用户
提问于 2017-01-25 05:24:08
回答 1查看 60.3K关注 0票数 34

zshcompsys man-page说:

初始化如果系统已经完全安装,那么从初始化文件调用shell函数compinit就足够了;请参阅下一节。但是,用户可以运行函数compinstall来配置完成系统的各个方面。

但是,zsh找不到命令:

代码语言:javascript
运行
复制
genesis% compinit
zsh: command not found: compinit
genesis% compinstall
zsh: command not found: compinstall
genesis% echo $PATH
/home/ravi/bin:/home/ravi/.gem/ruby/2.4.0/bin:/home/ravi/bin:/home/ravi/.gem/ruby/2.4.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/local/heroku/bin:/home/ravi/.cabal/bin:/home/ravi/.local/share/fzf/bin:/usr/local/heroku/bin:/home/ravi/.cabal/bin
genesis%

我被引导问这个问题,因为当我开始zsh时,我得到:

代码语言:javascript
运行
复制
tmuxinator.zsh:20: command not found: compdef

如何让zsh找到这些完成命令?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-10-26 07:43:47

这也是我在我的mac电脑上遇到的问题。我用的是zsh shell。

Compdef基本上是zsh用来加载自动完成的函数。需要启动完成系统。如果您使用的是类似于“噢-my”之类的东西,那么这个问题已经得到了解决,否则您将需要向您的~/.zsh添加以下内容

代码语言:javascript
运行
复制
autoload -Uz compinit
compinit

完成函数可以通过像这个compdef那样直接使用compdef函数手动注册。但是在使用compdef之前,它需要在上下文中自动显示。

票数 57
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/339954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档