Vim: AutoCompletar Código Django

Recentemente, voltei ao desenvolvimento do Django e depois de um ano meu próprio conjunto de ferramentas de codificação mudou muito, principalmente porque o Vim se tornou meu principal editor de texto. Com isso, muitos de meus amigos sugeriram PyCharm como a ferramenta certa para usar, mas eu simplesmente não consigo trabalhar com um IDE, simplesmente não parece tão suave e rápido quanto o Vim.

Então, se você é como eu e ama o Vim, um wrapper simples irá transformar o Vim em uma ferramenta mais poderosa para trabalhar com Django e Python, mas antes de configurarmos o wrapper temos que configurar algumas coisas dentro ou .vimrc:

"--ENABLE PYTHON/DJANGO OMNICOMPLETE

filetype plugin on

set omnifunc=syntaxcomplete#Complete

autocmd FileType python set omnifunc=pythoncomplete#Complete

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

autocmd FileType css set omnifunc=csscomplete#CompleteCSS


"
--SuperTab Integration
set completeopt-=previewtj
let g:SuperTabDefaultCompletionType = ""
let g:SuperTabDefaultCompletionType = "context"

As primeiras linhas estão ativando o recurso Omni Completion do Vim para esses tipos de arquivos e as últimas linhas são muito úteis e confortáveis ​​para trabalhar com o <a href=” https://github.com/ervandew/supertab”> Super Tab </ a > que deve estar dentro de nossa pasta .vim.

Agora poderemos definir um pequeno invólucro que construí com base em alguns exemplos que encontrei na internet, esses exemplos não funcionaram para mim, mas assim que entendi a ideia foi muito fácil codificar.

cole essas linhas dentro de um arquivo chamado djvim (NÃO SE ESQUEÇA DE MODIFICAR O CAMINHO DO SEU PROJETO):

PROJECT_PATH="/home/marin/Code"
if [ $# -eq 2 ]
then
export PYTHONPATH="$PROJECT_PATH/$1"
export DJANGO_SETTINGS_MODULE=$1.settings
vim $2

else
echo
"Usage: djvim [Project] [File]"
fi

em seguida, torne o arquivo executável e mova-o para a pasta / bin, isso resolverá o problema. Teste o djvim com:

user@machine:$ djvim myproject models.py

e dentro do Vim digite:

:python from django import db

Em seguida, teste o preenchimento automático com algumas funções, inicie-o com a tecla Tab.

se não funcionar, você pode verificar meus dotfiles <a href=” http://github.com/marinhero/dotfiles”> repo </a> e usá-los como arquivos pessoais ou guia.
Happy Coding, melhorias são sempre bem-vindas 🙂