【发布时间】:2017-01-07 03:31:13
【问题描述】:
我使用virtualenvwrapper 来设置虚拟环境,就像我在终端中所做的任何事情一样,我非常依赖制表符补全的省时魔法。
在我在 Ubuntu 16.04 上使用的 terminator terminal emulator 中,workon 命令的制表符补全正常工作(即,我输入 work,然后点击制表符以获取 workon - 输入这么多是必须的一个独特的完成)。当我尝试对虚拟环境的名称使用制表符完成时,问题就来了:它可以工作,但不如预期的那样。例如,如果我有一个 virtualenv testenv,并且在我的终端中输入 workon test 并点击 tab,它将显示 testenv 作为唯一的完成,但我需要添加(或删除)至少一个字符在它完成名称之前。所以,作为一个奇怪的例子:
- 我在命令提示符下输入
workon test。 - 我点击tab,看到输出
testenv显示(但提示中的命令没有完成,我仍然看到$ workon test。 - 我删除了
t,以便在提示符中有$ workon tes。 - 我再次点击tab,我得到了完整的完成
$ workon testenv。
标签完成一次后,它将继续为该终端会话工作,所以如果我再次输入$ workon test,它将在我第一次点击标签时完成test到testenv。
这不会使事情变得无法使用,而且我自然能够在没有任何完成的情况下输入整个命令。但是,完成工作,但工作方式与其他地方似乎不同,这一事实每天都让我发疯很长一段时间。
这是一个错误吗?预期的行为?有解决办法吗?到目前为止,我的搜索都是空的。
【问题讨论】:
-
我也有同样的问题。 Ubuntu 16.04.1 LTS。
标签: virtualenvwrapper tab-completion