Bram Moolenar, criador do VIM, morreu a 3 de Agosto de 2023. O seu legado persiste, no entanto.

Não conhecia o Homem, a pouca informação que tenho deste é de alguém que seria uma boa influência na Humanidade, mais do que apenas a sua obra.

Em sua homenagem, contarei a minha história do VIM.

Não me lembro quando decidi experimentar o Vim pela primeira vez. Creio que o primeiro contacto terá sido através da sua inclusão em tutoriais que envolviam servidores, provavelmente o Raspberry Pi. Esta será a história de muitos, levados à frustração na edição de ficheiros com o Nano, descobrindo o Vi e depois o Vi Improved, ou Vim.

Eventualmente fiz o tutorial, incluído no Vim, e achei extremamente interessante. Nessa altura ainda trabalhava como Médico, e tentei aplicar o Vim na minha vida, com pouco sucesso. A verdade é que, ainda que já programasse bastante fora de horas, existe uma curva de aprendizagem não ignorável para a utilização desta aplicação ser mais benéfica do que prejudicial na velocidade de desenvolvimento. E se uma pessoa não tem disponibilidade para utilizar constantemente, é difícil atingir esse ponto. Além disso, a esmagadora maioria de texto que os Médicos escrevem é no Word ou no Powerpoint. Sim, os Médicos foram colocados no planeta para sofrer com os outros.

Na SPMS, o meu tempo de programação passou a concentrar-se em horário laboral, pelo que tive uma nova oportunidade. No entanto, em vez de saltar diretamente para o Vim, optei por utilizar os plugins “Vim Mode” para o VSCode e PyCharm. Além disso, fui aprendendo mais comandos além dos do tutorial, alguns imprescindíveis.

Utilizei o “Vim Mode” durante cerca de um ano, talvez.

Nunca mais larguei o modo Vim. Confesso que inicialmente a utilização dos inúmeros atalhos geravam algum cansaço mas tal deixou de se verificar ao fim de alguns dias, dando espaço a uma utilização agradável. Pude deixar de me preocupar em levar o rato quando uso um portátil, pois o touchpad ficava tendencialmente por utilizar.

Há poucas semanas passei a utilizar o NeoVim como editor principal. A grande diferença prática deste para o Vim original é a utilização de Lua como linguagem de scripting primária, facilitando a criação de plugins e a configuração dos mesmos. Creio que o NeoVim é uma das grandes melhorias relativamente ao Vim, sendo filosoficamente a sua continuação.

A configuração do NeoVim não foi ou é particularmente simples, mas atingiu rapidamente um ponto em que este era utilizável e resolvia o meu maior atrito com o VSCode em Vim Mode: as motions não eram todas suportadas, a navegação entre ficheiros e símbolos confundia-se por vezes, obrigando-me a usar as teclas direcionais ou o rato.

Ainda tenho algumas melhorias a fazer à configuração, mas nada de especial ou demorado. Posso sempre melhorar incrementalmente, desde que evite a compulsão de perder dias inteiros a fazê-lo.

Se puder deixar um conselho a todos os que nunca utilizaram o Vim, é que experimentem, pelo menos umas semanas calmas. Façam o tutorial, utilizem Vim Motions no vosso editor. Sobretudo, sigam a filosofia do Vim, de conhecer bem a vossa ferramenta de trabalho e de saber como esta vos pode fazer mais produtivos.

Por fim, deixo uma explicação quanto ao título deste post. “:wq” é o comando para gravar e sair da janela atual do Vim (embora também possa ser utilizado “:x”). É uma velha (mas boa) piada, que as pessoas não sabem sair do Vim, e a resposta costuma ser “:q!”, que significa “sair, esquecendo alterações que não tenham sido guardadas”. Mas a obra do criador do Vim é um legado que persiste e persistirá. Do mesmo modo que o Vim continuou o Vi, o NeoVim continua agora o Vim, na procura constante da melhoria das ferramentas opensource. Uma comunidade ativa em ambos os projetos garantem que as aplicações continuam atuais, não obstante décadas de existência. E a sua morte, como a morte de qualquer um de nós, não desfaz aquilo que foi feito.

Obrigado, Bram, pelo teu contributo para a comunidade.