cheat
(来自命令行的命令备忘单)后,我尝试使用提供的 zsh 脚本启用自动完成功能。但是,我似乎没有找到脚本的正确位置。
cheat.zsh
;~/.oh-my-zsh/custom/plugins/cheat/_cheat.zsh
;plugins
中的 ~/.zshrc
数组;输入
cheat d<TAB>
时不会自动完成。
那么 zsh 自动补全脚本在 Linux 上应该放在哪里呢?
我通过将
cheat.zsh
添加到 ~/.oh-my-zsh/plugins
目录来实现此功能。 Zsh 检查 FPATH
上的自动加载功能,所以尝试:
echo $FPATH
然后添加到
FPATH
或将文件移动到路径上的文件夹中。
这实际上更好地解释了它: https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh
让我尽力帮忙。
我正在尝试类似的事情,这就是我能够使其发挥作用的方式。 以下解决方案已在 debian 发行版 [ubuntu] 上通过
oh-my-zsh
进行了验证
> 你的 zsh 没有给出正确的完成建议 [conda] > 这就是你输入 # conda tab 时得到的结果
找到补全脚本
一个很棒的位置是 https://github.com/clarketm/zsh-completions/tree/master/src
将文件下载到完成文件夹
[~/.oh-my-zsh/completions]
wget https://raw.githubusercontent.com/clarketm/zsh-completions/master/src/_conda ~/.oh-my-zsh/completions
确保完成文件夹列在 $fpath 下
print -l $fpath
如果没有列出怎么办 通常应该添加 .oh-my-zsh.sh 如果没有将以下内容附加到 ~/.oh-my-zsh/oh-my-zsh.sh
# add a function path
fpath=($ZSH/functions $ZSH/completions $fpath)
来源.zshrc
source ~/.zshrc
执行
compinit
这将为函数构建~/.zcompdump
文件
compinit
由于冲突,建议可能不会显示,请尝试以下操作
rm -f ~/.zcompdump; compinit
# we are clearing the function dump stored by zsh, its safe zsh will rebuilt it.
尝试来源
.zshrc
source ~/.zshrc
尝试注销并登录
检查
~/.zcompdump
中的映射
vi ~/.zcompdump
搜索康达
[/conda]
你应该看到如下
'conda' '_conda'
希望有人会发现它有用,如果有的话很乐意提供帮助
在最新版本的
oh-my-zsh
上已经有一组文件夹可以放置完成文件:~/.oh-my-zsh/custom/completions