- Grande aprimoramento da linguagem de script Vim9, modo diff melhorado, recursos completos de autocompletar e suporte experimental ao Wayland em uma atualização importante
- O autocompletar no modo de inserção foi reforçado com fuzzy matching, completar palavras baseado em registradores e novas opções de
completeopt
- Houve melhorias de UI por plataforma, como suporte à UI e área de transferência no Wayland, painel de abas vertical e modo escuro nativo no Windows
- Recursos da linguagem foram expandidos com Enums, funções genéricas e tipo Tuple, o que também pode ser aproveitado no desenvolvimento de plugins com IA
- Mesmo após a morte de Bram Moolenaar, o Vim mantém a filosofia Charityware, e a organização apoiada foi transferida para a Kuwasha
Principais melhorias de recursos
- Autocompletar aprimorado
- O modo de inserção agora oferece fuzzy matching e permite completar palavras diretamente a partir de registradores (
CTRL-X CTRL-R)
- Foram adicionadas as opções
nosort e nearest a 'completeopt', permitindo controle mais fino sobre a ordenação dos resultados
- Melhorias de plataforma e UI
- Suporte completo à UI e área de transferência no Wayland
- Em sistemas Linux/Unix, passa a seguir a XDG Base Directory Specification, usando
$HOME/.config/vim como caminho de configuração
- Adição de painel de abas vertical; a GUI do Windows passa a oferecer modo escuro na barra de menu e de título, além de ícones em alta resolução
- Novos recursos de aprendizado
- Foi introduzido um novo plugin de tutorial interativo, executado com o comando
:Tutor, oferecendo uma experiência de aprendizado mais moderna que o vimtutor tradicional
Expansão da linguagem de script Vim9
- Estrutura da linguagem reforçada
- Agora há suporte a Enum, funções genéricas e tipo de dado Tuple
- Funções embutidas foram integradas como métodos de objeto, e as classes agora oferecem suporte a método protegido
_new() e compilação completa de métodos via :defcompile
- Integração com ferramentas de IA
- Foram divulgados dois projetos de exemplo usando o GitHub Copilot
- Battleship in Vim9: implementação do jogo clássico usando classes
- Number Puzzle: quebra-cabeça lógico em forma de plugin interativo
Melhorias no modo Diff
- Algoritmo Linematch
- Adicionado à configuração
'diffopt', ele alinha alterações entre linhas semelhantes, melhorando a precisão do destaque
- Diff Anchors
- A opção
'diffanchors' permite definir pontos de ancoragem para alinhar diffs por seção em arquivos complexos
- Inline Highlighting
- Exibe com mais precisão alterações dentro de uma mesma linha e pode ser controlado pela subopção
"inline"
"inline:simple" passa a fazer parte do valor padrão de 'diffopt'
Mudanças nos valores padrão
- Vários valores padrão foram atualizados para se adequar a ambientes modernos
'history': 50 → 200
'backspace': vazio → "indent,eol,start"
'diffopt': "internal,filler" → "internal,filler,closeoff,indent-heuristic,inline:char"
'fontsize' (GTK): 10pt → 12pt
'showcmd', 'ruler': alterados para On por padrão
Outras melhorias e correções de bugs
- Desde o Vim 9.1, foram corrigidas várias vulnerabilidades de segurança, vazamentos de memória e falhas
Transição das atividades beneficentes
- Encerramento da ICCF Holland
- Após a morte do fundador Bram Moolenaar, a fundação foi encerrada por não ser mais viável mantê-la
- Os recursos restantes foram transferidos para apoiar o projeto Kibaale
- Cooperação com a Kuwasha
- A organização canadense Kuwasha assumiu a continuidade do projeto em Uganda e segue recebendo apoio
- Continuidade do Charityware
- O Vim continua sendo Charityware, e os usuários podem fazer doações por meio da Kuwasha
Agradecimentos e distribuição
- Agradecimento a todos os participantes que contribuíram com patches, traduções, relatórios de bugs etc.
- A versão mais recente está disponível na página de download
1 comentários
Comentários do Hacker News
É bom ver o Vim9 continuar evoluindo
Embora o centro de gravidade pareça ter se deslocado um pouco para o Neovim, o ecossistema do Neovim parece mais focado em quem quer um ambiente parecido com IDE
O que me pergunto é se mais desenvolvedores de plugins vão migrar para Vim9Script. Como a maioria dos usuários de Neovim já foi para plugins baseados em Lua, parece haver menos motivação para dar suporte aos dois lados
Fiquei especialmente feliz com a adição de suporte a tuples
Tanto Elisp quanto Vimscript eram limitantes demais para mim
Ainda assim, se eu tivesse escolha, provavelmente preferiria outra linguagem em vez de Lua
É impressionante que o Vim tenha sido mantido como Charityware por mais de 30 anos
Depois que Bram Moolenaar faleceu, a fundação ICCF Holland foi dissolvida, mas os recursos restantes foram transferidos para continuar apoiando o projeto Kibaale, em Uganda
Eu escolhi o vim por motivos técnicos, mas fiquei ainda mais orgulhoso ao saber que Bram manteve esse tipo de atividade beneficente por boa vontade
No fim, o fato de ele já vir incluído na distribuição Linux acabou sendo simplesmente ignorado
Mesmo assim, apoio totalmente a intenção do Bram
Sou fã do vim, mas no fim acabei migrando para o nvim
Sinceramente, queria que os mantenedores do vim encontrassem alguma forma de se fundir com o nvim
Funciona do mesmo jeito no meu ambiente local, no Raspberry Pi e numa VM com Ubuntu 20.04
A essência do Vim é simplicidade e consistência, então, se você quer mais recursos, talvez seja melhor usar o vscode com a extensão vim
Já testei o nvim antes, mas não senti grande vantagem, e acabei desistindo porque o comando
:shfuncionava de forma diferentePessoalmente, gosto da direção do vim9
Sinceramente, odeio Lua. Está ficando inevitável que toda a infraestrutura vá para Lua
Ainda bem que o suporte a XDG foi resolvido
init.nvimler o~/.vimrc, não há problemaA ponto de render piadas como “Onde estão os recursos de IA?”, este lançamento parece revigorante por ser uma grande atualização sem IA
Esse foi o motivo de eu ter migrado para o Sublime Text no passado, e também é um recurso essencial no VSCode e no Zed que uso hoje
Existem plugins, mas acho que o suporte nativo seria muito mais poderoso
Antigamente houve uma época em que Bram Moolenaar se recusava a atualizar o vim até o surgimento do Neovim
Achei estranho que não houvesse uma tag v9.2 na lista de tags do GitHub
Depois de muito interesse ao longo dos anos, finalmente comecei a aprender vim de verdade
Graças à IA, passei a ter intervalos entre solicitações e consegui tempo para estudar, e pedir ao IDE ou à IA para fazer alterações simples acaba parecendo mais lento
Com um workflow agentic, ficou muito mais rápido fazer ajustes detalhados e tarefas repetitivas
Antes eu era um evangelista do vim, mas agora resolvo a maioria dos bugs com comandos de voz e correções por IA
Ainda assim, continuo amando a filosofia do vim
Fico realmente feliz em ver que o vim continua evoluindo
A GUI do Windows agora passa a oferecer modo escuro, tela cheia aprimorada e ícones em alta resolução
Parabéns pelo novo lançamento; estou ansioso pelo dia em que poderei experimentar essas ótimas melhorias