是否可以在zsh中使用Django bash完成

是否可以在zsh中使用Django bash完成,第1张

概述Django bash completion在bash中启用了django-admin.py和manage.py命令的tab-completion. zj for django有自动完成脚本,但它们不适用于自定义命令.其中一个是oh-my-zsh项目. 我也知道bashcompinit但它似乎不适用于django-admin,产生以下错误: ./manage.py Traceback (most Django bash completion在bash中启用了django-admin.py和manage.py命令的tab-completion.

zj for django有自动完成脚本,但它们不适用于自定义命令.其中一个是oh-my-zsh项目.

我也知道bashcompinit但它似乎不适用于django-admin,产生以下错误:

./manage.py Traceback (most recent call last):  file "./manage.py",line 10,in <module>    execute_from_command_line(sys.argv)  file "lib/python2.7/site-packages/django/core/management/__init__.py",line 385,in execute_from_command_line    utility.execute()  file "lib/python2.7/site-packages/django/core/management/__init__.py",line 356,in execute    self.autocomplete()  file "lib/python2.7/site-packages/django/core/management/__init__.py",line 266,in autocomplete    cwords = os.environ['COMP_WORDS'].split()[1:]  file "bin/../lib/python2.7/UserDict.py",line 23,in __getitem__    raise KeyError(key)KeyError: 'COMP_WORDS'

是否有可能让Django bash完成与zsh一起使用?或者是否有其他替代方案可以允许使用django admin自定义命令.

解决方法 你可以修补django_bash_completion,如下所示:
--- django_bash_completion.old  2014-12-23 10:41:35.589103686 +0900+++ django_bash_completion  2014-12-23 10:43:27.224848105 +0900@@ -33,7 +33,7 @@ _django_completion() {-    COMPREPLY=( $( COMP_WORDS="${COMP_WORDS[*]}" \+    COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \                    COMP_CWORD=$COMP_CWORD \                    DJANGO_auto_COMPLETE=1  ) ) }

在zsh(这里是zsh-5.0.7)上,使用env(1)显式工作正常.以上补丁不会伤害bash(我已经在bash-4.3.30(1)-exlease上测试过).

总结

以上是内存溢出为你收集整理的是否可以在zsh中使用Django bash完成全部内容,希望文章能够帮你解决是否可以在zsh中使用Django bash完成所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1049827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存