修复zsh下的Django自动补全功能

事情是这样的:zsh在启用了django插件以后,对./manage.py 和manage.py 均有自动补全,而对形如python manage.py 的命令没有自动补全。不巧的是,由于OS X下默认Python版本为2,manage.py 的默认Shebang又是#!/usr/bin/env python ,也就是说,如果我要使用Python 3进行开发,则无法使用zsh的自动补全功能。

经过一番研究,很快解决了这个问题。只需将以下内容添加到~/.zshrc :

# Django auto completion
#
compdef _managepy django
django() {
        python3 ./manage.py [email protected]
}

另外,如果需要把Python 3作为默认Python版本,可以使用:

# let python3 to be default python
# and python2 needs to be set explicitly
#
alias python2="\python"
alias python="python3"
alias pip2="\pip"
alias pip="pip3"

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据