vimrc usar ultimate the spacevim plugininstall examples conf con python vim virtualenv macvim

python - usar - vim super



Establecer python virtualenv en vim (3)

Utilizo vim para la codificación y para la codificación python en particular. A menudo quiero ejecutar el búfer actual con el intérprete de Python. (por ejemplo, para ejecutar unittests), generalmente hago esto con :!python % <Enter>

Esta escena funcionará bien con python global, pero quiero ejecutar virtualenv python en su lugar. ¿Cómo habilito virtualenv dentro de vim? ¿Es posible cambiar virtualenv en el tiempo de ejecución?

Estoy usando macvim


Active su virtualenv antes de iniciar vim. Obtendrá automáticamente la instancia de intérprete correspondiente.


Esto es lo que uso (lo siento, el resaltado es desatinado).

" Function to activate a virtualenv in the embedded interpreter for " omnicomplete and other things like that. function LoadVirtualEnv(path) let activate_this = a:path . ''/bin/activate_this.py'' if getftype(a:path) == "dir" && filereadable(activate_this) python << EOF import vim activate_this = vim.eval(''l:activate_this'') execfile(activate_this, dict(__file__=activate_this)) EOF endif endfunction " Load up a ''stable'' virtualenv if one exists in ~/.virtualenv let defaultvirtualenv = $HOME . "/.virtualenvs/stable" " Only attempt to load this virtualenv if the defaultvirtualenv " actually exists, and we aren''t running with a virtualenv active. if has("python") if empty($VIRTUAL_ENV) && getftype(defaultvirtualenv) == "dir" call LoadVirtualEnv(defaultvirtualenv) endif endif

Tenga en cuenta que necesita tener MacVim compilado contra el Python que está utilizando para el virtualenv, por ejemplo, si descargó Python 2.7 desde Python.org debe recompilar MacVim usando --with-python-config-dir=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config como argumento para ./configure .

¡Espero que ayude!

EDITAR: Solo una nota de atribución: Gran parte del trabajo de detective que se dedicó a escribir esta pequeña canción fue hecho por este blogger , y merece algo del mérito.