-
Notifications
You must be signed in to change notification settings - Fork 80
Vim
Anton T Johansson edited this page Apr 27, 2019
·
5 revisions
You need a VIM version that has been with Python 2.7 or later (+python or +python3). You can check this from within VIM using :python3 import sys; print(sys.version)
(use :python
for Python 2).
- Install jedi-vim (or another autocompletion plugin that supports jedi) either manually or using your preferred plugin manager.
- Make sure you do not have other autocomplete plugins loaded.
- Make sure you have the autocomplete engine working for the native Python libraries.
Step 1 and 2 will set this for your whole environment, if you want to set this up in a separate virtualenv see section Setting up ironpython-stubs in a virtualenv.
- Append the path to the stubs to the
PYTHONPATH
variable in your shell profile (e.g..bash_profile/.bashrc/.zshrc
) using the commandexport PYTHONPATH=${PYTHONPATH}:/path/to/iron-python-stubs/release/stubs.min
- Put
let g:jedi-vim#force_py_version = '2'
in your.vimrc
if you have Python 3 in your environment. - You are now ready to complete using jedi-vim, the standard keymap is
<C>-<Space>
. You can use ervandew/supertab to easily map completions to<Tab>
.
If you have other libraries you would like to add like rpw, you add multiple paths using a colon.
PYTHONPATH=${PYTHONPATH}:/path/to/iron-python-stubs/release/stubs.min:/path/to/revitpythonwrapper.lib
Some additional context for these instructions can be found in this blog post: Autocompletion for Rhino/Grasshopper python scripts in Vim
- Create a new virtualenv with the command
virtualenv -p python2 .venv
in your project directory. Replace python2 with the path to your Python 2 executable if python2 doesn't work. - Create a file called
.pth
in.venv/lib/python2.X/site-packages/
containing the absolute or relative path to the ironpython-stubs. E.g./path/to/ironpython-stubs/release/stubs.min
-
source .venv/bin/activate
and start editing, jedi-vim will use your virtualenv with the added path to the stubs.