Programando em Python no VIM com recurso de auto-completar (python-jedi)

Publicado por Fábio Berbert de Paula em 20/10/2017

[ Hits: 3.644 ]

Blog: https://fabio.city

 


Programando em Python no VIM com recurso de auto-completar (python-jedi)



Que o Vim é o editor de texto mais completo do mundo todo mundo sabe! O que você pode ainda não saber é que é possível adicionar o recurso de auto-completar comandos e funções de Python no editor, o transformando numa IDE completa para a linguagem.

Vou abordar a instalação em Debian e derivados. Comece instalando o vim-addon-manager:

sudo apt-get install vim-addon-manager

Agora verifique o status dos addons disponíveis:

vim-addons status

Instale o python-jedi:

vim-addons install python-jedi

Usei o comando acima como usuário comum, logo ele foi instalado somente para meu usuário, no diretório $HOME/.vim/plugins, veja:

vim-addons status
# Name                     User Status  System Status 
editexisting                removed       removed       
justify                     removed       removed       
matchit                     removed       removed       
python-jedi                 installed     removed
cat ~/.vim/plugins/jedi.vim

"jedi-vim - Omni Completion for python in vim
" Maintainer: David Halter <davidhalter88@gmail.com>
"
" This part of the software is just the vim interface. The really big deal is
" the Jedi Python library.

if !exists("g:jedi#auto_vim_configuration") || g:jedi#auto_vim_configuration
    " jedi-vim doesn't work in compatible mode (vim script syntax problems)
    if &compatible
        set nocompatible
    endif

    " jedi-vim really needs, otherwise jedi-vim cannot start.
    filetype plugin on

    " Change completeopt, but only if it has Vim's default value.
    let s:save_completeopt=&completeopt
    set completeopt&
    let s:default_completeopt=&completeopt
    let &completeopt=s:save_completeopt
    if s:default_completeopt == &completeopt
        set completeopt=menuone,longest,preview
    endif

    if len(mapcheck('<C-c>', 'i')) == 0
        inoremap <C-c> <ESC>
    endif
endif

" Pyimport command
command! -nargs=1 -complete=custom,jedi#py_import_completions Pyimport :call jedi#py_import(<q-args>)

command! -nargs=0 JediDebugInfo call jedi#debug_info()
command! -nargs=0 -bang JediClearCache call jedi#clear_cache(<bang>0)

" vim: set et ts=4:

Se quiser instalar o addon para todos os usuários, execute o comando de instalação como root.

E voilà! Use Ctrl+Space para exibir o menu popup com as sugestões.
Linux: Programando em Python no VIM com recurso de auto-completar (python-jedi)
Outras dicas deste autor

Android - Como localizar seu dispositivo via web

Vim - Converter tecla tab em 4 espaços

Teclas de atalho para navegação entre abas do navegador

Analizando a performance de servidores web com o httperf

Richard Stallman in Rio

Leitura recomendada

Lançamento do Stoq versão 0.8.10

Curso Gratuito - Python 3 na Web com Django (Básico e Intermediário)

Livro: Python para desenvolvedores

Ordenando dicionários em Python

Hardware Project Simulator 0.2 com interface gráfica e correções

  

Comentários
[1] Comentário enviado por removido em 20/10/2017 - 21:19h

Parabéns pela dica, fabio.

[code]Muitos que vivem merecem a morte. E alguns que morrem merecem viver.
Você pode dar-lhes a vida?
Então não seja tão ávido para julgar e condenar alguém a morte.
Pois mesmo os muitos sábios não conseguem ver os dois lados.[/code]



Contribuir com comentário