@TOC
Intro
“”一个又命令行补全的conda才是好conda。”
测试shell:zsh bash的实现方式同理,有人写了conda-bash-completion的插件
Solution
1. 在一个固定的目录下载zsh conda的补全插件
git clone https://github.com/conda-incubator/conda-zsh-completion.git
2. 在shell的配置文件source这个插件的脚本
可以直接在.zshrc中添加:
source <path to conda-zsh-completion>/conda-zsh-completion.plugin.zsh
注意,这一句必须添加在conda初始化配置句段后面。即,你必须先在.zshrc中有conda initialize的配置(conda安装的时候默认添加,或者使用conda init <your_shell> 手动添加)。
如果你不想默认激活conda,和我的使用习惯一样,请继续看:
3. 当你的使用习惯是不默认激活conda
由于我个人的使用习惯是不默认使用conda环境,而是设置了alias进行手动激活conda的操作,故我把这个激活conda的alias写成一个bash函数:
conda_initialize(){
__conda_setup="$('/home/syw/toolkits/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/syw/toolkits/miniconda3/etc/profile.d/conda.sh" ]; then
. "/home/syw/toolkits/miniconda3/etc/profile.d/conda.sh"
else
export PATH="/home/syw/toolkits/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# source zsh conda completion script: git clone https://github.com/conda-incubator/conda-zsh-completion.git
source ~/.gitrepos/conda-zsh-completion/conda-zsh-completion.plugin.zsh
}
alias uc='conda_initialize'
添加以上,通过uc的alias手动激活conda,conda激活后一样有了补全。