forked from VimPlug/jedi-vim
138 lines
3.6 KiB
ReStructuredText
138 lines
3.6 KiB
ReStructuredText
#################################################
|
|
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 <http://github.com/davidhalter/jedi-vim>`_.
|
|
|
|
You can get the Jedi library documentation
|
|
`here <http://github.com/davidhalter/jedi>`_.
|
|
|
|
|
|
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 <https://github.com/tpope/vim-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 <ctrl+space>, if you want it to work with
|
|
<tab> you can use `supertab <https://github.com/ervandew/supertab>`_.
|
|
|
|
On Arch Linux, you can also install jedi-vim from AUR: `vim-jedi
|
|
<https://aur.archlinux.org/packages/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 <leader g>. If you want to change that:
|
|
|
|
.. code-block:: vim
|
|
|
|
let g:jedi#goto_command = "<leader>g"
|
|
|
|
``get_definition`` is by default on <leader d>. If you want to change that:
|
|
|
|
.. code-block:: vim
|
|
|
|
let g:jedi#get_definition_command = "<leader>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 = "<leader>r"
|
|
|
|
And you can list all names that are related (have the same origin):
|
|
|
|
.. code-block:: vim
|
|
|
|
let g:jedi#related_names_command = "<leader>n"
|
|
|
|
If you want to change the default autocompletion command:
|
|
|
|
.. code-block:: vim
|
|
|
|
let g:jedi#autocompletion_command = "<C-Space>"
|
|
|
|
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"
|