2016-08-30 1 views
2

J'utilise virtualenvwrapper pour configurer des environnements virtuels, et comme pour tout ce que je fais dans un terminal, je m'appuie énormément sur la magie de la complétion des tabulations.Comportement de complétion de tabulation étrange avec la commande virtualenvwrapper workon

Dans le terminator terminal emulator que j'utilise sur Ubuntu 16.04, la touche de tabulation fonctionne normalement pour la commande workon (à savoir, je tape work, et l'onglet frappé pour obtenir workon - taper beaucoup est nécessaire pour obtenir une finition unique). Le problème vient quand j'essaie d'utiliser l'achèvement de tabulation pour le nom de l'environnement virtuel: cela fonctionne, mais pas comme prévu. Par exemple, si j'ai un virtualenv testenv, et dans mon terminal je tape workon test et appuyez sur tab, il affichera testenv comme le seul achèvement, mais je vais devoir ajouter (ou supprimer) au moins un caractère avant de compléter le nom . Ainsi, comme un exemple qui fonctionne étrangement:

  1. Je tape workon test à une invite de commande.
  2. je frappe onglet et voir la sortie testenv affiché (mais la commande dans l'invite est pas terminée, et je vois encore $ workon test.
  3. effacer la t pour que j'ai $ workon tes dans l'invite.
  4. je frappe onglet à nouveau, et je reçois l'achèvement complet $ workon testenv.

Après l'achèvement onglet fonctionne une fois, il continuera à travailler pour cette session de terminal, donc si je tape $ workon test encore, il complétera test à testenv les sapins t fois que j'ai frappé l'onglet. Cela ne rend pas les choses inutilisables, et naturellement je suis capable de taper la commande entière sans aucune complétion. Mais le fait que l'achèvement fonctionne, mais fonctionne différemment que partout ailleurs, me rend fou depuis un certain temps tous les jours.

Est-ce un bug? Le comportement attendu? Y a-t-il une solution pour cela? Mes recherches jusqu'à présent ont été vides.

+0

J'ai le même problème. Ubuntu 16.04.1 LTS. – omikron

Répondre

2

En fait problème a été résolu quand j'ai ajouté l'initialisation à .bashrc:

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

Comme décrit dans docs.