2016-08-30 56 views
2

我使用virtualenvwrapper来设置虚拟环境,与我在终端中做的任何事情一样,我严重依赖于制表符完成的省时魔术。使用virtualenvwrapper workon命令奇怪的制表符完成行为

在,我在Ubuntu 16.04使用terminator terminal emulator,tab完成正常工作的workon命令(即I型work,并按下Tab键获得workon - 打字这一点是必要得到一个独特的完成)。当我尝试使用Tab完成虚拟环境的名称时,问题就出现了:它可以工作,但并不像预期的那样。例如,如果我有一个virtualenv testenv,并且在我的终端中输入workon test并点击选项卡,它将显示testenv作为唯一完成,但在完成名称之前,我需要添加(或删除)至少一个字符。所以,作为一个奇怪的例子:

  1. 我在命令提示符下键入workon test
  2. 我打标签,查看输出testenv显示(但在提示命令未完成,我仍然看到$ workon test
  3. 我删除t,让我在提示有$ workon tes
  4. 我打再次标签,我也得到了全面完成$ workon testenv

标签后完成的作品一次,它将继续为终端会话一起工作,如果我再次键入$ workon test,它将完成testtestenv冷杉时间我打标签。

这并不会让事情变得无法使用,当然我可以在没有任何完成的情况下键入整个命令。但事实表明,完成的工作,但工作不同于看似其他地方,已经使我每天都在疯狂的时间很长一段时间。

这是一个错误?预期的行为?有没有解决这个问题?迄今为止我的搜索已经空了。

+0

我有同样的问题。 Ubuntu 16.04.1 LTS。 – omikron

回答

2

其实问题解决了,当我加入初始化.bashrc

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

docs描述。