No dia em que escrevo esta coluna, abri, como de costume, o “sítio laranja” (Hacker News, para os não iniciados) e me deparei com uma triste notícia: Bram Moolenaar, o criador do editor de texto vim, havia falecido. Imagino que poucos leitores – em particular aqueles que não são desenvolvedores de software – reconhecerão esse nome, mas, contraditoriamente, esse é um dos programas mais importantes da história da computação. Tão importante que se alguém visitar a página oficial da ferramenta, encontrará o seguinte aposto ao seu nome: “o editor ubíquo”.
Poucas ferramentas podem se dizer ubíquas, mas o vim é com certeza uma delas. Encontrado em praticamente todos os sistemas operacionais baseados em UNIX (como Linux, FreeBSD, OpenBSD, …) e no OS X, da Apple, ele pode ser experimentado de graça para qualquer um que digitar vim na linha de comando.
Mas cuidado ao fazer isso! A pergunta “Como fechar o editor vim?” está entre as mais populares no sítio Stack Overflow, portal ao qual programadores desesperados se dirigiam em busca de respostas para seus problemas antes do lançamento do ChatGPT. Fechar esse editor realmente não é uma tarefa trivial para os não familiarizados. Não se trata apenas de ir ao canto superior direito ou esquerdo de sua janela e clicar no botão de fechar. Essa operação fecharia todo o terminal, e não apenas o editor. Além disso, não há uma instrução para fechá-lo.
Isso porque o vim é um editor modal, ou seja, com modos diferentes de operação. Para fechá-lo é necessário entrar no modo de execução de comandos pressionando “:” e, na sequência, digitar o comando “q” (ou “quit“) e confirmá-lo com a tecla ENTER. Para digitar texto no vim, sua função primordial, é necessário antes pressionar a tecla “i” para entrar no modo de inserção.
“Por que tanta complexidade?”, alguém pode perguntar. Realmente, isso é difícil de explicar para quem não passa o dia editando texto estruturado. Para mim, pessoalmente, é a capacidade de movimentar meu cursor, selecionar e editar texto sem tirar as mãos do teclado. Sim, a curva de aprendizado é um pouco íngreme, mas quem estiver disposto a superá-la será recompensado com uma ferramenta muito ergonômica – e poderá rir daqueles que não conseguem sair dela. Caso alguém lendo esta coluna estiver interessado em se aventurar, pode fazê-lo jogando o jogo Vim Adventures, disponível gratuitamente na Internet.
O vim em si não é uma ferramenta original. Seu nome original era “Vi IMitation“, ou “imitação do vi” numa tradução livre. O vi era um editor proprietário, distribuído com a versão do Unix da Universidade de Berkeley. Com a proposta de desenvolvimento colaborativo e aberto de Moolenaar, o vim tornou-se “Vi IMproved“, e hoje, se digitarmos vi num terminal muito provavelmente abriremos o vim. Seu desenvolvimento começou quase que ao mesmo tempo que o desenvolvimento do sistema operacional Linux, em 1991. Ambos são exemplos de projetos de sucesso – e ubíquos – desenvolvidos colaborativamente.
Quando usei o vim pela primeira vez, lembro de não conseguir sair, de não conseguir digitar texto. Queria voltar ao meu bloco de notas. Hoje, não sei mais programar sem usá-lo. Mesmo quando uso outros editores, preciso da extensão quem habilite os modos do vim para sentir-me em casa. Usá-lo me fez repensar como texto é editado num computador. Suas infindáveis opções de customização e plugins permitiram-me criar uma plataforma única, adequada para o meu uso.
Bram Moolenaar trabalhou por três décadas nesse projeto e seu nome provavelmente não será esquecido por seus pares, no meio da computação. Gostaria de dedicar essa coluna a ele para que mais pessoas saibam que os programas que estão usando neste exato momento tiveram parte de seu desenvolvimento feito no vim ou um de seus variantes.
Assim como o Linux e outras pessoas de infraestrutura de software – ubíquas – é comum haver pouco reconhecimento apesar de seu mais amplo uso. Elas são tão naturais que a maioria das pessoas sequer sabe que as estão usando, direta ou indiretamente.
Numa época de ferramentas corporativas descartáveis, programas lentos e carregados com casos de uso restritos, o vim prevalece. Seu desenvolvimento iniciou-se em 1991 e sua última grande atualização ocorreu em junho de 2022, com o lançamento do vim 9, ainda sob a liderança de Moolenaar. O holandês boa parte de sua vida ao projeto, pedindo em troca que seus usuários doassem a uma ação humanitária em defesa de crianças de Uganda. Talvez a história de sua criação continue no neovim, assim como começou no vi, mas Bram Moolenaar sempre será uma parte importante do desenvolvimento das ferramentas de programação. Deixo aqui meu sincero agradecimento.