instale e gerencie extensões e plugins para Vim com o vim-addons

A ferramenta vim-addons facilita a instalação e configuração de plugins para o editor de textos Vim.
A sua distro Linux provavelmente tem um repositório abarrotado de extensões para o Vim.
Como não é tarefa do gestor de pacotes se envolver nos meandros de um software e configurar seus add-ons, o vim-addon pode ser necessário.

Para contextualizar, este post foi escrito no Debian 10 testing (de codinome “Buster”). Portanto, adeque os comandos dados à sua distro favorita.

Não esqueça de ler (e compartilhar) meus outros posts sobre o editor de textos Vim.
Mantido pelo grupo Vim Maintainers, o pacote vim-addons-manager se propõe a gerenciar extensões para o editor — ele instala e, quando necessário, ajusta o arquivo de configuração em ~/.vim/
Use o seu gestor de pacotes para instalá-lo:


sudo apt install vim-addon-manager

O utilitário permite listar os addons eventualmente já instalados no seu sistema.
Também é possível remover o que você “não gosta mais”.

O vim-addon-manager ou vim-addons deve ser executado fora do Vim, na shell.

As limitações do VAM

O Vim Addon Manager (VAM) foi concebido para instalar plugins empacotados no padrão Debian (.deb).
Em outras palavras, a intenção é gerenciar apenas as extensões distribuídas em pacotes debian — usualmente, no repositório.
Isto limita (e muito) a quantidade possível de extensões instaláveis, mas garante maior segurança e estabilidade para os usuários.

Como listar as extensões atuais do Vim

Use o comando list, para obter uma relação das extensões/plugins presentes na sua instalação Vim:


vim-addons list

editexisting
espeak
justify
matchit

A lista, acima, mostra os itens disponíveis no sistema. Eles não estão, necessariamente ativos.
No meu caso, estes itens estão todos com o estado “removido”.
Para saber disso, use o comando status:


vim-addons status 

# Name                     User Status  System Status 
editexisting                removed       removed       
espeak                      removed       removed       
justify                     removed       removed       
matchit                     removed       removed

Para obter mais informações sobre algum item da lista, use o comando show:


vim-addons show espeak

Addon: espeak
Status: removed
Description: habilita realce de sintaxe (syntax highlighting) para o eSpeak e arquivos de dados texto-para-fala do eSpeak NG (dicionários, etc.)
Files:
 - ftdetect/espeakfiletype.vim
 - syntax/espeaklist.vim
 - syntax/espeakrules.vim

Como encontrar mais pacotes de plugins no repositório do Debian

Para encontrar, instalar e ativar plugins, siga o passo a passo:

  1. use o comando apt search com o comando grep, para encontrar possíveis plugins para o seu sistema:
    
    apt search vim | grep -B1 -i plugin
    
  2. instale o pacote do plugin, como qualquer outro pacote Debian. Segue um exemplo:
    
    sudo apt install vim-python-jedi
    

    Depois de instalado, o novo plugin já pode ser visto na relação do VAM:

    
    vim-addons
    
    # Name                     User Status  System Status 
    editexisting                removed       removed       
    espeak                      removed       removed       
    justify                     removed       removed       
    matchit                     removed       removed       
    python-jedi                 removed       removed
    

    Agora é possível obter informações sobre a nova extensão:

    
    vim-addons show python-jedi
    

    Addon: python-jedi
    Status: removed
    Description: autocompletion tool for Python
    Files:
    - after/ftplugin/python/jedi.vim
    - after/syntax/python.vim
    - autoload/jedi.vim
    - autoload/health/jedi.vim
    - doc/jedi-vim.txt
    - ftplugin/python/jedi.vim
    - plugin/jedi.vim
    - pythonx/jedi_vim.py
    - pythonx/jedi_vim_debug.py

  3. Por fim, instale e ative o plugin. Siga os exemplos, abaixo.
    Para instalar o python-jedi:

    
    vim-addons install python-jedi
    
    Info: installing removed addon 'python-jedi' to /hem/justincase/.vim
    Info: Rebuilding tags since documentation has been modified ...
    Processing /hem/justincase/.vim/doc/
    Info: done.
    

    Para obter informações específicas sobre a extensão:

    
    vim-addons status python-jedi 
    
    # Name                     User Status  System Status 
    python-jedi                 installed     removed
    

    De acordo com a informação, acima, a extensão python-jedi já instalada. Basta rodar o Vim, para vê-la funcionando.

Como remover os plugins

Se quiser remover um dos plugins instalados, use a opção remove do vim-addons:


vim-addons remove python-jedi

Se você remover apenas o pacote vim-addon-manager, os plugins instalados através dele, permanecerão.

Referẽncias

A quantidade de opções de extensões é muito pequena, para ser instalada pelo vim-addon-manager.
há outras opções de instalação facilitada de plugins para Vim, que procuram direto no GIT e te poupam de ter que passar primeiro pelo repositório da sua distro.

https://vi.stackexchange.com/questions/7266/when-should-i-use-vim-addon-manager-instead-of-a-regular-package-manager.

https://vi.stackexchange.com/questions/7249/using-vim-addon-manager.

3 editores de código para Debian e Ubuntu

O Linux é uma plataforma valiosa para desenvolvedores(as). É estável e cresceu pelas mãos de programadores.
A concepção inicial era ser um sistema operacional feito por e para desenvolvedores, mas o projeto acabou crescendo muito além disso.

O GNU/Linux, hoje, é para todos.
É possível afirmar que apenas alguns nichos de usuários é que não irão encontrar utilidade para o sistema operacional do pinguim (sorte que não sou um deles) 😉

Programadores(as), dispõem de um enorme “manancial” de ferramentas e documentação, dentro da plataforma GNU/Linux.
Parte já vem instalada por padrão.
Outra parte pode ser baixada dos repositórios da sua distro (ou seja, a lojinha de apps).
Debian Ubuntu Instalar programas

Este post, tem algumas limitações — ou a lista ficaria insanamente grande.
Só vale editores gráficos (GUI) e que estejam presentes na lista do aplicativo Programas (Debian/GNOME).
Por exemplo, o Kate é tão bom quanto o Gedit, para editar código — mas é voltado ao KDE.
Nada impede que o usuário instale software para KDE no GNOME, mas isto vai contra algumas regras básicas de uso do Linux

Se você percebeu que deixei algum software de fora, por favor, use a sessão de comentários para avisar.

O Gedit

Este é um dos itens padrão de qualquer instalação que usa o desktop GNOME — ou seja, é pré-instalado.
O editor tem suporte a dezenas de linguagens de programação.gedit editor

Conta com suporte a syntax highlighting e vários outros recursos, via plugins.
Abaixo, painel para alterar o tema visual do editor.
temas do Gedit

GVim

Derivado do Vim, editor de textos CLI, esta versão mantém todos os atalhos de teclado e comandos do original e adiciona a possibilidade de realizar as tarefas pela GUI, com o mouse, claro.
gvim editor

Podemos dizer que o Vim é algo muito poderoso na CLI, mas isto seria verdade também na sua versão gráfica?
Eu acredito que traz todas as suas vantagens para o ambiente gráfico, sim. Mesmo sendo um ávido usuário do editor na CLI, também gosto do conforto de usar o conceito de “apontar e clicar” no meu editor favorito, de vez em quando.

Outra vantagem do editor é que você pode levar e usar toda a sua base de conhecimento no Vi e Vim.

Pluma

Este seria o editor padrão do Ubuntu MATE, assim como o Kate e o Kwrite são do KDE e o Gedit do GNOME.
Não recomendo usar editores de outros ambientes desktop apenas pelo princípio de manter o sistema enxuto.
Ao instalar programas do KDE, em um ambiente GNOME, várias novas bibliotecas (QT, por exemplo) são acrescentadas ao sistema, que ficará “inchado” apenas para satisfazer aquele programa novo.
editor texto pluma

O Pluma irá acrescentar, além do pacote do editor, em si, o mate-dekstop (393 Kb) e o próprio Pluma (12.8 MB).
Neste caso, o pacote adicional do Mate, representa apenas uma pequena fração do carro-chefe.
Vale a pena experimentá-lo, portanto.

O que ficou de fora

Eu fiz um esforço para não incluir editores mais avançados, como o Geany e o Aptana (entre outros).
Estes programas são IDEs (Ambientes de Desenvolvimento Integrado) e, portanto, não são “apenas editores de texto”.

Tem outras sugestões de editores, que não abordei neste post?
Então, comente sobre isso 😉

Como repetir e desfazer ações dentro do editor Vim

Repetir e desfazer são ações corriqueiras ao editar texto.
Como o Vim funciona de um modo “pouco convencional”, ou seja, diferente de 99% dos outros editores de texto, os novatos se veem perdidos ao tentar fazer algo tão trivial, como desfazer uma edição acidental.

Sugiro a leitura do texto Como copiar, recortar e colar, para se aprofundar mais no assunto ou tirar eventuais dúvidas que fiquem após a leitura deste post.
Abra um texto de exemplo (um que você possa “estragar”) dentro do Vim e experimente as dicas que seguem.

Como repetir ações no Vim

No Vim, a tecla de comando para repetir ações (repeat) é ‘.’ (ponto).
Cada edição feita no programa é armazenada em um buffer temporário — cujo conteúdo é substituído pelas informações da próxima edição.
Ao teclar Esc e pressionar a tecla ‘.’, o Vim repetirá a última ação.
Experimente.


Ao pressionar a tecla Esc, eu saio do modo de edição e entro no modo de comando do Vim, em que posso pressionar . para repetir a última edição feita.
Ao pressionar a tecla Esc, eu saio do modo de edição e entro no modo de comando do Vim, em que posso pressionar . para repetir a última edição feita.

Para repetir ‘n’ vezes, use o comando ‘n.’ (número de vezes que deseja repetir e . ).
Por exemplo, para repetir a última ação 20 vezes, tecle ’20.’ no modo comando.

Como desfazer ações no Vim

Tão importante quanto refazer, é poder desfazer ações acidentais no editor, como apagar uma linha, seu texto inteiro etc.
No modo comando, tecle ‘u’ (undo), para desfazer a última ação.
Tal como anteriormente, também é possível indicar quantas ações deve ser desfeitas.
Basta adicionar um número ao comando ‘u’. Por exemplo ‘4u’ para desfazer as 4 últimas edições.

Tire um tempo, agora, para experimentar um pouco estas dicas. Assim fica mais fácil memorizar o aprendizado para quando ele for realmente necessário.

Opções de inicialização do editor Vim

O Vim tem inúmeras opções de inicialização.
Neste post, vamos abordar algumas das mais básicas alternativas para abrir arquivos de maneiras específicas.

Como você já sabe (como em qualquer outro editor de textos), é possível já abrir o Vim com o(s) seu(s) arquivo(s) prontos para edição (ou não).
Basta indicar o nome do arquivo na linha de comando:


vim arquivo.txt

Se você estava compilando um código de um arquivo ou rodando um script a partir de um interpretador e se deparou com uma mensagem de erro, é possível já abrir o arquivo na linha em que o interpretador/compilador indicou haver uma inconsistência:

vim +n arquivo

em que ‘n’ é o número da linha dentro do ‘arquivo’, aonde o editor irá posicionar o cursor.
Veja um exemplo mais direto:


vim +11 helloworld.py

No exemplo, acima, o Vim irá abrir o arquivo ‘helloworld.py’, com o cursor na linha 11, no modo de comando.
Veja um exemplo de como abrir o arquivo, com o cursor posicionado na última linha:


vim + helloworld.py

O padrão do editor é começar a edição na primeira linha do arquivo, se nenhum parâmetro ou opção for dada na linha de comando.
Se quiser abrir um arquivo-texto com o cursor posicionado sobre a primeira ocorrência de uma palavra ou sentença, use a opção ‘+’ seguido da string a ser encontrada e do nome do arquivo a ser aberto.
Segue um exemplo:


vim +/print helloworld.py

O comando, acima, abrirá o arquivo com o cursor sobre a primeira ocorrência (se houver) da palavra ‘print’.

Opcionalmente, você pode usar ‘-c’ (conforme recomendação do POSIX), em vez de ‘+’.

Usar a opção ‘+/’ para encontrar uma string dentro do texto, pode ser útil para ajudar a chegar a um determinado ponto do trabalho em que você o gostaria de retomar.
Por exemplo, digite ‘ZZZZ’ dentro do seu texto e, mais tarde, ao iniciar novamente o Vim, use esta mesma sequência para chegar ao ponto em que parou:

'vim +/ZZZZ nome-do-arquivo'

Como abrir um arquivo no modo somente leitura do Vim

Há basicamente 2 maneiras de abrir arquivos em read only mode ou “modo somente leitura” — no qual não é possível fazer alterações nem intencionais nem acidentais.
Este modo é muito útil para realizar a leitura de arquivos de configuração sensíveis do sistema ou ler código de algum programa — sem correr o risco de inserir um caractere ou apagar alguma coisa acidentalmente.
Use a opção ‘-R’, seguida do nome do arquivo que deseja abrir:

vim -R nome-do-arquivo

ou use o utilitário view:

view nome-do-arquivo

O view costuma ser apenas um link de sistema para o vi (com a opção ‘somente leitura’ habilitada) ou para o programa vim.basic.
Caso você mude de ideia e queira fazer alterações no arquivo, use o comando ‘:w!’ dentro editor.

Leia o artigo Como usar criptografia com o Vim para ver como abrir um arquivo em modo seguro (criptografado) e com o buffer previamente desligado.

Resumindo

A melhor forma de aprender a usar todos os macetes de um programa (como um editor de textos) é praticar.
Abra um terminal e experimente os comandos:

  • +n nome-do-arquivo — abre ‘nome-do-arquivo’ na linha ‘n’.
  • + nome-do-arquivo — abre ‘nome-do-arquivo’ na última linha.
  • +/string nome-do-arquivo — abre ‘nome-do-arquivo’ e posiciona o cursor sobre a string indicada.
  • -R nome-do-arquivo — abre no modo ‘apenas leitura’.
  • -r nome-do-arquivo — em caso de ter havido um crash, em que o Vim tenha sido interrompido acidentalmente, é possível recuperar arquivos danificados com esta opção.

Como copiar, recortar e colar no editor Vim

Copiar uma parte do texto em um arquivo, para usar em outros locais ajuda a poupar tempo e digitação.
Copiar/colar ou recortar/colar são funções existentes no Vim, que muitos novatos desconhecem.

Ambas estão ali, presentes, e são fáceis de usar.
Abra o Vim, com um texto qualquer, que você possa usar para fazer testes e experimente os exemplos que seguem.

Como recortar e colar texto no Vim

Esta função faz (re)uso de outras 2 funções do editor:

  1. os comandos de apagar uma linha, uma palavra, um caractere e
  2. o buffer (memória intermediária) do Vim, onde é guardado o conteúdo descartado.

Basicamente, a operação de recortar/colar consiste de “apagar” primeiro e, depois, recuperar o texto do buffer.

Veja 3 exemplos básicos de como apagar (recortar, neste caso) texto, no modo comando do Vim:

  • ‘dd’, recorta a linha (atual) em que o cursor se encontra
  • ‘dw’, recorta a palavra que se encontra à direita do cursor ou ‘db’, recorta a palavra à esquerda
  • ‘3d’, recorta 3 linhas inteiras

O comando ‘p’ é usado para inserir o conteúdo do buffer no texto.
Depois de recortar o que queria, basta posicionar o cursor no ponto em que deseja colar o texto “apagado” e pressionar ‘p’ — para reinserir o conteúdo do buffer.
Se quiser, é possível multiplicar a quantidade de vezes em que é reinserido.
Tecle ‘5p’, por exemplo, para inserir o conteúdo do buffer 5 vezes.

copiar e colar com o editor Vim

Como copiar e colar no editor Vim

Para copiar conteúdo, use o comando ‘y’ (yank).
Veja alguns exemplos:

  • ‘yy’, para copiar a linha atual
  • ‘yw’, para copiar a próxima palavra. Se quiser copiar as próximas 3 palavras, use ‘y3w’
  • ‘y$’, para copiar do ponto atual até o final da linha

Depois de copiado, basta mover o cursor para o local, no texto, em que deseja inserir o conteúdo do buffer e teclar ‘p’.