我应该如何在zsh中使用argcomplete?

时间:2015-06-04 07:41:25

标签: python command-line-arguments zsh tab-completion

我正在使用argcomplete在Bash中完成 Tab

argcompletebash提供了全局完成功能,但zsh没有。

我想创建一个文件~/.zsh_completion,以包含要完成的文件。当这些文件来自~/.zshrc时,此文件应为这些文件生成自动完成。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

好吧有办法做到这一点,但这不是我真正想要的方式。

无论如何,这里是:

  1. 安装argcomplete

    $ pip install argcomplete
    
  2. 激活argcompolete

    $ activate-global-python-argcomplete --user
    
  3. 将此添加到~/.zshrc

    autoload bashcompinit
    bashcompinit
    source ~/.bash_completion.d/python-argcomplete.sh
    
    eval "$(register-python-argcomplete /path/to/the/to/be/completed/file1)"
    eval "$(register-python-argcomplete /path/to/the/to/be/completed/file2)"
    eval "$(register-python-argcomplete /path/to/the/to/be/completed/file3)"
    

    可能有一个解决方案可以从另一个文件中读出要完成的文件,但我不知道该怎么做。

答案 1 :(得分:0)

与Exeleration-G相同,但是在您的〜/ .zshrc中仅放入

eval "$(cd path/to/script; register-python-argcomplete script.name)"

答案 2 :(得分:0)

我刚刚发布了一个名为pyzshcomplete的新项目,可以在here中找到它。 它旨在为argcomplete提供与zsh相同的功能。