【问题标题】:Strange tab completion behavior with virtualenvwrapper workon commandvirtualenvwrapper workon 命令的奇怪选项卡完成行为
【发布时间】:2017-01-07 03:31:13
【问题描述】:

我使用virtualenvwrapper 来设置虚拟环境,就像我在终端中所做的任何事情一样,我非常依赖制表符补全的省时魔法。

在我在 Ubuntu 16.04 上使用的 terminator terminal emulator 中,workon 命令的制表符补全正常工作(即,我输入 work,然后点击制表符以获取 workon - 输入这么多是必须的一个独特的完成)。当我尝试对虚拟环境的名称使用制表符完成时,问题就来了:它可以工作,但不如预期的那样。例如,如果我有一个 virtualenv testenv,并且在我的终端中输入 workon test 并点击 tab,它将显示 testenv 作为唯一的完成,但我需要添加(或删除)至少一个字符在它完成名称之前。所以,作为一个奇怪的例子:

  1. 我在命令提示符下输入workon test
  2. 我点击tab,看到输出testenv显示(但提示中的命令没有完成,我仍然看到$ workon test
  3. 我删除了t,以便在提示符中有$ workon tes
  4. 我再次点击tab,我得到了完整的完成$ workon testenv

标签完成一次后,它将继续为该终端会话工作,所以如果我再次输入$ workon test,它将在我第一次点击标签时完成testtestenv

这不会使事情变得无法使用,而且我自然能够在没有任何完成的情况下输入整个命令。但是,完成工作,但工作方式与其他地方似乎不同,这一事实每天都让我发疯很长一段时间。

这是一个错误吗?预期的行为?有解决办法吗?到目前为止,我的搜索都是空的。

【问题讨论】:

  • 我也有同样的问题。 Ubuntu 16.04.1 LTS。

标签: virtualenvwrapper tab-completion


【解决方案1】:

其实我在.bashrc添加初始化后问题就解决了:

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

docs 中所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2017-04-26
    • 1970-01-01
    • 2013-08-23
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多