O GVim é o editor Vim para quem não abre mão do ambiente gráfico

O editor Vim ou Vi, como projeto de software livre, tem várias ramificações ou branches.
Isto significa que o projeto inicial acabou dando origem a diversos outros softwares semelhantes e compatíveis entre si.

Atualmente, no Linux e no Mac, é possível executar o Vim, como editor de textos de linha de comando padrão.
Em muitos servidores e provedores de internet, o Vim ou o vi estará disponível para seu uso, assim que você se conectar.

Saber usar o Vim, significa nunca ficar sem um editor de textos.
Entre os projetos, derivados do original, há uma versão voltada para rodar em servidores gráficos.

Neste texto, vamos tratar do GVim — veremos como instalar (isto é fácil!) e faremos um rápido passeio pela sua interface.
O pacote de instalação do GVim contém arquivos compartilhados por todas as variantes do vim com interface gráfica disponível no seu sistema operacional.
Pode ser instalado pela CLI mas, já que estamos aqui, vamos usar apenas a interface gráfica.
Debian Ubuntu Instalar programas

Abra o aplicativo de instalação de softwares/programas da sua distro e procure pelo GVim. Em seguida, clique em “Instalar”.

Uma vez instalado, já é possível fazer uso de todos os recursos do Vim, com a possibilidade de usar nativamente o mouse.

O poder do Vim está em ser um editor que dispensa o uso do mouse para realizar todas as tarefas de que ele é capaz.

Sempre haverá algumas tarefas em que é mais fácil usar o mouse ou o touchpad, contudo. Para estes casos, você tem o suporte completo no GVim a estes dispositivos.

A interface gráfica botões práticos para realizar tarefas triviais, de abrir e gravar arquivos.

Além disto, permite refazer e desfazer ações ao toque de botões.

gvim editor
A versão GUI do Vim, tem botões de busca e substituição de palavras e strings, que podem ser mais cômodos.

Os menus dão acesso a inúmeras outras funções do editor, sem desabilitar os comandos de teclado.

Referências

O que você pensa desta versão do Vim? Acha que vale a pena substituir a versão CLI por ela? Ou dá para usar as duas?

Leia mais sobre o Vim:
Como ajustar esquemas de cores automaticamente, em função do horário do dia.

Resenha de livro: Vi and Vim, de Arnold Robbins.

Neste post, apresento uma das obras que me ajudou muito a entender melhor o funcionamento do editor de textos Vim e a elevar o meu nível como usuário do programa.
Como advertência inicial, trata-se de um livro em inglês. Caso você prefira evitar livros neste idioma, sugiro ler meus outros posts sobre o editor Vim.

Eu já tinha um background sobre o aplicativo e seu uso, antes de começar a ler o livro.
Se este também for o seu caso, pode fazer que nem eu, ler superficialmente (ou simplesmente “pular”) as partes sobre as quais já tem domínio e ir direto ao que te interessa.

Algumas obras são escritas com o propósito de ensinar, como tutoriais. Outras, são mais úteis como referência e sua leitura integral pode ser até desnecessária — uma vez que você pode ganhar mais tempo apenas consultando, quando houver dúvidas sobre algum item.

Na minha avaliação, a obra serve aos 2 propósitos.

Eu sou aquele tipo de nerd ou geek que lê os manuais de tudo o que compra, desde o guia de uso do liquidificador aos manuais completos do carro.

Quanto menos você souber sobre o Vim, mais vai aprender lendo o livro de ponta a ponta — aplicando os exemplos, os macetes, as dicas etc.
Depois o livro pode ir para uma estante. Mas não o deixe muito longe do seu alcance.



Assinada por Arnold Robbins, Elbert Hannah e Linda Lamb, a obra ainda terá muito a oferecer após a leitura, como referência.

Durante a leitura, não me preocupei em absorver 100% dos conceitos, mas em me divertir aprendendo.
É impossível aprender a usar o Vim (bem como muitos outros editores de texto bem mais populares) “do dia para a noite”. É um processo que vai tomar algum tempo e requerer bastante prática.

Portanto, se for lida com tranquilidade, o leitor pode se entreter bastante.

O conteúdo

A obra faz um apanhado do vi, desde o tempo do seu surgimento, no ambiente de programação do UNIX e segue em frente para incluir as versões mais atuais do editor, como Gvim (versão gráfica do editor).
Veja um resumo do que ela cobre:

  • Opções de linha de comando (CLI).
  • Comandos e opções do vi.
  • Atalhos do modo de inserção.
  • Substituição de texto e expressões regulares.
  • Comandos e opções do ex.
  • Inicialização e recuperação de arquivos.
  • Tags avançadas.
  • Recursos de conexão e navegação na Internet.

O livro termina com um extenso índice remissivo para ajudar a chegar mais rápido ao assunto que você deseja consultar.

Problemas do livro

Pode-se dizer que o livro é um tanto extenso e que não precisaria cobrir tantas versões do Vim.
Mas, se é melhor pecar pelo excesso, acredito ser possível perdoar isso.
Além do mais, é muito fácil se esquivar do que não te interessa aprender no momento e seguir a leitura mais adiante.

Conclusão

Se você não se importa ou não tem medo de ler em inglês, o livro pode ser bastante útil — uma vez que há bem poucas alternativas sobre o assunto em português.
Se o seu nível de leitura em inglês for razoável, não acho que vai haver problemas em entender e aprender o que os autores têm para passar.
A linguagem é clara e o texto é bem escrito.
Além disso, muita coisa pode ser aprendida empiricamente, seguindo os exemplos, caso não consiga entender algo especificamente.

Onde comprar

O livro pode ser adquirido em livrarias físicas ou online brasileiras.
É mais certo encontrar em livrarias internacionais.
O site da Amazon, no Brasil, tem a versão digital (para Kindle), neste link: https://amzn.to/2qDq5bI (recomendado).
Eu adquiri a minha cópia física na Barnes and Noble, contudo. Neste caso, arquei com uma demora de quase 4 meses na entrega. Eu não faria isto de novo…

Como fazer o Vim ajustar o tema de cores automaticamente, de acordo com a hora do dia

O editor de textos Vim permite escolher entre uma dezena de esquemas de cores, ou temas, pre-instalados.
Com este pequeno código, introduzido no arquivo de configuração do Vim, você pode fazer com que ele varie automaticamente, em função da hora do dia.

Se você já tem alguma pequena experiência com conceitos básicos de programação (em qualquer linguagem) não vai ter dificuldades para alterar o script, para atender às suas necessidades.
Se quiser, pode apenas copiar e colar o código. Ele vai simplesmente funcionar, como se espera.

Script para trocar o esquema de cores no Vim

O script, que segue, é desenvolvido na linguagem de programação interna do Vim — o vimscript.
O código deve ser inserido ao final do arquivo de configurações ~/.vimrc e será executado toda vez em que o programa for iniciado.
Ao rodar o Vim, o script irá checar a hora e aplicar o esquema de cores apropriado.

Abra um terminal e edite o arquivo de configurações:


vim ~/.vimrc

Acrescente o código seguinte ao final do arquivo:

" Verificação progressiva do horário
" e ajuste do esquema de cores do Vim.
" A adição de 0 para garantir que 
" retorno da função seja numérico.

if strftime("%H") < 6 + 0
        colorscheme darkblue
        echo "selecionado tema DARKBLUE"
elseif strftime("%H") < 12 + 0
        colorscheme morning
        echo "selecionado tema MORNING"
elseif strftime("%H") < 18 + 0
        colorscheme shine
        echo "selecionado tema SHINE"
else
        colorscheme evening
        echo "selecionado tema EVENING"
endif

As linhas com o comando 'echo', infelizmente interromperão a inicialização do Vim, toda vez, para passar a mensagem entre aspas.
Inicialmente, elas são interessantes para ajudar a verificar se tudo está correndo bem e se o Vim está lendo adequadamente cada linha de código.
Depois, você pode remover, para deixar a execução do editor mais fluida e o .vimrc mais enxuto.

Finalmente, quando terminar de editar, basta sair do Vim e entrar de novo.

Introdução ao editor de textos Vim

O editor de textos Vim ou vi foi lançado em 1991 e já passou dos 25 anos de existência.
É um editor profissional, para ser usado por hackers, programadores e power users (usuários avançados).

É chamado de “vi” em sistemas UNIX e no Mac OS X. Mas, usualmente, este é apenas um link para o Vim — que é uma evolução, uma versão mais avançada do vi.
Já recebeu alguns prêmios importantes, como o Linux World Editor’s Choice Award (1999) e foi escolhido pelos leitores do Linux Journal, seguidas vezes, entre 2001 e 2005.

O programa se destaca por ser um programa voltado para quem deseja obter o máximo da eficiência durante a escrita.
Foi concebido para permitir realizar todas as ações necessárias de edição sem ter que afastar as mãos do centro do teclado — embora tenha suporte a uso do mouse e uma versão GUI (interface gráfica), com botões clicáveis e menus suspensos, igual a qualquer outro editor de sua categoria (programação).
Contudo, usar o Vim com o mouse é ignorar o que há de melhor no editor.

Vim ascii art

O Vim é um editor de textos altamente configurável. Foi criado para tornar muito mais eficiente a edição de qualquer tipo de texto.
É estável (sólido como uma rocha), tem desenvolvimento ativo e continua a receber melhorias.
Entre os seus recursos, citam-se:

  1. Persistência, suporte a vários níveis de “desfazer” e a múltiplas camadas de arquivos.
  2. Um completo sistema de plugins que ajuda a estender suas funções.
  3. Suporte a centenas de linguagens de programação e a formatos diferentes de arquivos.
  4. Sistema de busca e substituição poderoso.
  5. Facilmente integrável a várias ferramentas e aplicativos no seu sistema.

No post “Por que eu uso o Vim para programar“, conto os motivos pessoais que me levaram a escolher este editor.

Como iniciar o uso do Vim

Para iniciar o editor na CLI, use o seguinte comando em seu terminal:


vim meutexto.txt

Este comando pode ser usado no MS-DOS prompt ou no terminal do Mac ou do Linux.
O vim irá iniciar a edição do arquivo meutexto.txt.
tela inicial do editor vim

A tela inicial irá exibir o cursor no topo da janela.
Na barra de status, embaixo, é exibido o nome do arquivo atual, seguido dos números da linha e da coluna em que o cursor se encontra.
Nota: Neste momento, o Vim ainda não está pronto para começar a edição.
Entenda porque…

Os modos de operação do Vim

Um dos conceitos do projeto do Vim, que costuma pegar os iniciantes “de calças curtas”, é o de funcionar em 2 modos:

  1. Existe um modo de inserção, para digitar texto. Ali é que se insere texto novo ou se apaga caracteres no Vim
  2. e existe um modo de comando, para gravar, abrir arquivos, desfazer ações, copiar e colar etc.

Se você se confundir e começar a digitar texto no modo de comando ou tentar dar comandos no modo de inserção vai ter resultados diferentes do que deseja.
Portanto, é importante entender este conceito agora, logo no começo.

O modo de inserção (i) é para digitar; o modo de comando (ESC) é para realizar operações relacionadas ao seu texto ou ao arquivo.

O Vim sempre inicia no “modo de comando”.
A partir daí, você vai dizer ao programa o que quer fazer — abrir um outro arquivo, sair do editor, obter ajuda etc.
Se quiser digitar texto, tem que entrar no “modo de inserção”. Para isto, tecle ‘i’.
Observe que o Vim informa na barra de status que se encontra no “modo de inserção”.
Para voltar ao modo de comando, pressione a tecla ‘ESC’.

A possibilidade de variar entre “modos”, é uma característica de editores modais.

Dentro do modo de comando, é possível fornecer comandos para o programa na barra de status ou linha de comando do editor.
Os comandos devem começar com ‘:’ (dois pontinhos).
Muitos comandos de ajuste do editor podem começar com ‘:set’ — que veremos mais tarde.
Se você fornecer apenas esta expressão, sem nada a acompanhar, o vim irá mostrar como suas variáveis de ambiente/funcionamento estão ajustadas.
Para gravar um arquivo, por exemplo, use o comando ‘:w’ (w = write).
No artigo Comandos do Vim, falamos sobre alguns comandos básicos para usar no editor.
A melhor maneira de entender é usando o programa.
Com o tempo, isto vai se tornando natural.

Como sair do Vim

Algumas pessoas se habituaram a dizer que o assunto é complicado, o que me levou a escrever um artigo inteiro sobre como sair do Vim.
De maneira resumida, use um dos seguintes comandos para sair do Vim:

  • :q para sair simplesmente
  • :wq para gravar e depois sair
  • :q! para sair sem gravar

Dica para novatos

Um dos problemas para quem está iniciando é entender o conceito de “modos” e frequentemente esquecer “em que modo estou”.
A barra de status, com frequência muda, para mostrar (ou não) outras informações.
Por isto é comum digitar um comando, quando você queria apenas começar a digitar texto.
Para evitar esta confusão, comece sempre teclando ‘ESC’, para garantir que esteja no modo de comando. Depois, você decide o que irá fazer. Se quiser começar a digitar texto, tecle ‘i’, ainda no modo de comando.
Se você bagunçar o seu texto por engano, volte ao modo de comando (ESC) e tecle ‘u’ (undo) para desfazer a última ação.


Leia mais sobre como movimentar o cursor dentro do Vim.

Referências

Você pode ler o manual do Vim com o comando ‘:help’
ASCII Art: http://www.patorjk.com/software/taag/.

Com trabalhar com múltiplas abas com o editor Vim

Como muitos outros editores, o Vim aceita organizar seu conteúdo em abas.
Na nomenclatura dos comandos e no sistema de ajuda do Vim, o recurso de abas é chamado de tabs.

Com o tabbed editing (edição em abas), é possível iniciar conteúdo novo em uma nova aba ou passar o conteúdo existente, em alguma janela, para outra aba.
Cada aba se comporta de maneira independente, dentro da sua sessão do Vim.
Você pode dividir a tela e criar outras janelas dentro de cada aba.

Para iniciar uma nova aba, use o comando ‘tabnew’, seguido do nome do arquivo que será aberto dentro dela:


:tabnew arquivo.txt

Se o arquivo especificado não existir, um novo será criado, com este nome.
Se você usar apenas o comando ‘tabnew’, sem fornecer um nome de arquivo a ser aberto, um arquivo, em branco e sem nome, será criado dentro da nova aba.

Para sair da aba criada, basta fechar o arquivo (ou os arquivos) dentro dela, com “:q”.
Uma outra forma de fechar a aba ativa é com ‘tabclose’:


:tabclose arquivo.txt

Ou, para fechar todas as outras abas:


:tabonly

Arquivos, ainda não gravados, podem impedir que suas abas sejam fechadas.

Para alternar entre as abas, use as teclas Ctrl + PageDown ou Ctrl + PageUp.