################################################# jedi-vim - awesome Python autocompletion with VIM ################################################# *If you have any comments or feature requests, please tell me! I really want to know, what you think about Jedi and jedi-vim.* jedi-vim is a is a VIM binding to the awesome autocompletion library *Jedi*. Here are some pictures: .. image:: https://github.com/davidhalter/jedi/raw/master/docs/_screenshots/screenshot_complete.png Completion for almost anything (Ctrl+Space). .. image:: https://github.com/davidhalter/jedi/raw/master/docs/_screenshots/screenshot_function.png Display of function/class bodies, docstrings. .. image:: https://github.com/davidhalter/jedi/raw/master/docs/_screenshots/screenshot_pydoc.png Pydoc support (with highlighting, Shift+k). There is also support for goto and renaming. Get the latest from `github `_. You can get the Jedi library documentation `here `_. Support ======= The Jedi library supports most of Python's core features. From decorators to generators, there is broad support. Installation ============ You might want to use `pathogen `_ to install jedi in VIM. Also you need a VIM version that was compiled with ``+python``, which is typical for most distributions on Linux. The first thing you need after that is an up-to-date version of Jedi. You can either get it via ``pip install jedi`` or with ``git submodule update --init`` in your jedi-vim repository. The autocompletion can be used with , if you want it to work with you can use `supertab `_. On Arch Linux, you can also install jedi-vim from AUR: `vim-jedi `__. Options ======= Jedi is by default automatically initialized. If you don't want that I suggest you disable the auto-initialization in your ``.vimrc``: .. code-block:: vim let g:jedi#auto_initialization = 0 There are also some VIM options (like ``completeopt``) which are automatically initialized, if you don't want that: .. code-block:: vim let g:jedi#auto_vim_configuration = 0 The goto is by default on . If you want to change that: .. code-block:: vim let g:jedi#goto_command = "g" ``get_definition`` is by default on . If you want to change that: .. code-block:: vim let g:jedi#get_definition_command = "d" Showing the pydoc is by default on ``K`` If you want to change that: .. code-block:: vim let g:jedi#pydoc = "K" If you are a person who likes to use VIM-buffers not tabs, you might want to put that in your ``.vimrc``: .. code-block:: vim let g:jedi#use_tabs_not_buffers = 0 Jedi automatically starts the completion, if you type a dot, e.g. ``str.``, if you don't want this: .. code-block:: vim let g:jedi#popup_on_dot = 0 Jedi selects the first line of the completion menu: for a better typing-flow and usually saves one keypress. .. code-block:: vim let g:jedi#popup_select_first = 0 There's some support for refactoring: .. code-block:: vim let g:jedi#rename_command = "r" And you can list all names that are related (have the same origin): .. code-block:: vim let g:jedi#related_names_command = "n" If you want to change the default autocompletion command: .. code-block:: vim let g:jedi#autocompletion_command = "" By default you get a window that displays the function definition you're currently in. If you don't want that: .. code-block:: vim let g:jedi#show_function_definition = "0"