Pacotes de softwares para incrementar o Vim, para programar em Python.

mug with mustache bad photo

O Vim possui diversas bibliotecas e plugins, disponíveis para melhorar o seu desempenho, como programador(a) em qualquer linguagem.
Neste post, pretendo mostrar uma série de pacotes de softwares, disponíveis nos repositórios oficiais, que podem ajudar a melhorar o seu dia a dia como desenvolvedor(a) em Python.

Só para contextualizar, escrevo usando o Debian GNU/Linux 10 “Buster” testing. Os pacotes, contudo, devem estar disponíveis para você, sob os mesmos nomes, mesmo que sua distro seja diferente da minha.

Como encontrar os pacotes para Vim e Python

O comando ‘search’ pode ser usado no gestor de pacotes do Debian/Ubuntu (apt) e nas distros derivadas do Fedora (dnf ou yum):


apt search python | grep -i vim

ou, ainda…


dnf search python | grep -i vim

Se quiser saber mais sobre o comando grep, clique aqui.
Para mim, o resultado foi o seguinte:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  arquivos de desenvolvimento para o flow-tools
  bibliotecas de desenvolvimento de Driver de transporte Multi-ponto HP (hpmud)
  biblioteca para gráficos científicos (arquivos de desenvolvimento)
  arquivos de desenvolvimento de integração de loop principal para python-dbus
  cabeçalhos de desenvolvimento para os vínculos Python GObject estáticos
  vínculos SDL para desenvolvimento de jogos em Python
  Keyboard-driven, vim-like browser based on PyQt5
vim-athena/testing 2:8.0.1401-2 amd64
vim-autopep8/testing 1.0.7-1 all
  vim plugin to apply autopep8
vim-gtk/testing,now 2:8.0.1401-2 amd64 [installed,automatic]
vim-gtk3/testing 2:8.0.1401-2 amd64
vim-khuno/testing 1.0.3-1 all
  Python flakes Vim plugin
vim-nox/testing 2:8.0.1401-2 amd64
vim-python-jedi/testing 0.11.1-1 all
  autocompletion tool for Python - VIM addon files
vim-syntastic/testing 3.8.0-1 all
  Syntax checking hacks for vim
vim-voom/testing 5.2-1 all
  Vim two-pane outliner

Todos podem ser instalados via apt ou dnf, mas o ideal talvez seja usar o vim-addons, seguido pelo nome do pacote.
Vamos falar sobre alguns destes, que sejam (pelo menos, quase) exclusivamente para Python.

Pacote de ajustes sintáticos para o Vim

O pacote vim-syntastic oferece hacks de sintaxe para o editor Vim.
Trata-se de um plugin que verifica a sintaxe, usando programas externos.
Os eventuais erros encontrados serão exibidos ao usuário.
Pode ser feito sob demanda ou apenas quando o arquivo for gravado (salvo).
Em arquivos grandes pode haver economia significativa de tempo, uma vez que você não vai precisar sequer compilar seu código para descobrir que tem erros de sintaxe lá dentro.

O vim-syntastic tem suporte a várias outras linguagens também.

Ferramenta de autocomplemento para Vim

O pacote vim-python-jedi é uma ferramenta de autocomplemento para a linguagem Python, dentro do Vim.
Funciona com ou sem os erros de sintaxe (fica o aviso).
No geral, consegue entender quase todos os elementos sintáticos básicos do Python, incluindo muitos builtins.

Flakes no Vim

O plugin khuno vai instalar também o Flakes, que será usado para analisar o seu código de acordo com o Flake8.
Disponibiliza os seguintes recursos:

  1. Análise sintática é executada assincronamente (non-blocking)
  2. O assistente exibe mensagens de erro na linha de status
  3. Use um Buffer à parte, para exibir erros

Se tiver mais dicas, conta pra gente, nos comentários! 😀

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 48 outros assinantes

Configure o Vim para editar código em Python

Tenho experimentado vários editores e algumas IDEs para escrever e editar código em Python, PHP e outras linguagens de programação.
Depois de um tempo, tenho a tendência de sempre voltar à simplicidade do Vim.
Se você nunca o usou, mas tem curiosidade, recomendo ler um pouco mais sobre o editor, antes de voltar para ler este texto.
O Vim não revela fácil sua magnificência para as pessoas.


Claro que ninguém precisa configurar o editor Vim para qualquer linguagem específica e, se você usa mais de uma, provavelmente é melhor não fazer isso.
Alguns dos ajustes que seguem podem ser adequados, contudo, para quem só programa em Python.
Qualquer editor de texto puro é adequado para escrever seu código em Python. Contudo, editores com suporte a syntax highlighting, entre outros recursos avançados, podem facilitar bastante a sua vida.
Os ajustes sugeridos, neste texto, para o editor Vim, vão ajudar a escrever código compatível com o PEP 8, tornando-o mais eficiente e legível.
Fique à vontade para sugerir os seus ajustes preferidos nos comentários.
Veja quais são os que eu uso:

  • Quebra de linhas com mais de 79 colunas.
  • Indentar de quatro em quatro colunas de texto.
  • Tabulação (hard TAB) de 4 colunas.
  • Inserir espaços, quando teclar TAB.
  • Inserir ou remover 4 espaços quando teclar TAB ou Backspace.
  • Ajuste o shiftwidth para controlar quantas colunas serão indentadas nas operações de reindentação.
  • Ativar a indentação automática.

O Vim é um editor de textos que usa atalhos de teclado para receber comandos sobre como processar o seu texto — em vez de ícones clicáveis.
Estas configurações são apenas um ponto de partida, para dar mais eficiência à edição. Recomendo conhecer alguns plugins que podem complementá-los.

O arquivo de configuração do Vim

Como já disse em outros textos, meu sistema operacional é o Debian Linux. Embora a maioria das instruções contidas no site não sejam específicas de qualquer sistema operacional, faz bem deixar claro que os meus exemplos são construídos neste SO. Eventualmente, você vai precisar adaptar algum procedimento ou nome de arquivo à sua realidade aí.
No Debian 9, o arquivo central de configuração do Vim é o ‘/etc/vim/vimrc.local’ ou ‘/etc/vim/vimrc’ — a depender do seu sistema operacional ou da sua distro.
Se você usa o Vim apenas para o Python, pode fazer os ajustes no seu arquivo de configuração local:
‘~/.vimrc’ ou ‘./vim/.vimrc’ no Linux.
Já para quem usa outras linguagens de programação, pode ser mais interessante usar um arquivo de configuração à parte, contendo os ajustes específicos para o Python.
O Vim permite usar arquivos de configuração diferentes ou variados.
No meu exemplo vou criar um arquivo de configuração a ser usado especificamente quando for escrever código em Python, chamado ‘.pyvimrc’. Ele vai ficar gravado em um subdiretório do meu home: ‘~/.vim/’
Para iniciar o editor, com as configurações especiais, basta usar a opção ‘-u’:


vim -u ~/.vim/.pyvimrc

Para facilitar mais, criei um curto script Bash, chamado ‘pyvim’ (python vim), contendo o seguinte comando:


#!/bin/bash
vim -u ~/.vim/.pyvimrc

Eu o gravei no diretório ‘/usr/bin’ e lhe dei permissão de execução:


sudo chmod a+x /usr/bin/pyvim

daqui pra frente, quando executar o script pyvim, o vim será invocado de acordo com as diretrizes inscritas no arquivo ‘~/.vim/.pyvimrc’.
Use os nomes que você quiser, ao criar os criar os arquivos.

Como ajustar o Vim para editar código Python

Vamos ver, neste tópico os ajustes que devem ser colocados no ‘.pyvimrc’ ou no arquivo de configuração da sua preferência.
Segue o conteúdo do meu arquivo ‘~/.vim/.pyvimrc’


textwidth=79	" quebra linhas com mais de 79 col.
shiftwidth=4	" ajusta as operações >> e << indentar e desindentar 4 col.
tabstop=4	" exibe uma TAB crua como 4 col.
expandtab	" insere espaços quando acionar a tecla TAB
softtabstop=4	" insere/remove 4 espaços com TAB/Backspace
shiftround	" arredonda a indentação para múltiplos dos shiftwidth especificados
autoindent	" insere indentação automática a cada nova linha

Experimente e veja como ficou!

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 48 outros assinantes