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

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

[ Hits: 8.484 ]

Blog: https://fabio.automatizando.dev

 


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

Como seu Samsung Galaxy S3 pode se transformar num PC

Escolhendo quais colunas exibir no comando top

Como evitar execução de backdoors em diretórios de upload do teu site

Python Tricks - receba 1 dica de Python por dia no email

SED - texto para maiúsculas, minúsculas, pascal case e camel case

Leitura recomendada

RTV - Acessando o Reddit via terminal

Python3 demorando a compilar numpy e/ou pandas [Resolvido]

Livro: Python para desenvolvedores

Python - capturar a saída do programa em um arquivo ou variável

Ordenando dicionários em Python

  

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]

[2] Comentário enviado por ElmiroDuarte em 09/11/2020 - 18:09h

Salvo nos meus favoritos !!!
Artigo perfeito .



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts