Linux-Skills:给conda添加命令行补全功能(zsh)

@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激活后一样有了补全。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值