7 razões pelas quais o NeoVim é melhor que o Vim
NepVim ou Vim? Qual dos dois editores semelhantes é melhor? Acho que é o NeoVim e tenho boas razões para apoiar esta afirmação.
O editor Vim é um sucessor do editor vi
encontrado no UNIX original. Sendo um fork do Vim, o Neovim é um editor que visa melhorar a qualidade de vida de todos os desenvolvedores, melhor que o Vim.
Vim é uma excelente escolha para administradores de sistemas experientes. No entanto, o NeoVim reuniu seguidores significativos entre os desenvolvedores.
Quer saber por que mais desenvolvedores estão escolhendo o NeoVim em vez do Vim? Como um usuário fervoroso do NeoVim, posso pensar nos seguintes motivos.
1: Manutenção do projeto e melhorias de recursos
Você pode estar se perguntando "Com o Vim tão popular, especialmente por causa dos memes 'Não consigo sair do Vim', o Vim seria a escolha certa para os usuários. Por que alguém faria um fork do Vim e correria o risco de desperdiçar tempo de desenvolvimento apenas para que uma dúzia de pessoas o utilizem?"
E essa é uma pergunta válida. Vim é muito popular! Mas isso não significa que a comunidade que desenvolve o Vim esteja satisfeita com o estado do projeto em si.
Existem dois problemas existentes com a base de código atual do Vim:
O principal desenvolvedor do Vim não tem promovido o desenvolvimento do Vim como um projeto amigável à comunidade. Este argumento é apoiado por recursos inicialmente adicionados ao Neovim, como suporte assíncrono, um emulador de terminal integrado e janelas pop-up (para mostrar mensagens de depuração e sugestões de preenchimento automático) que foram posteriormente adotadas no Vim devido à "pressão" da comunidade.
A base de código do Vim é menos sustentável em comparação com o Neovim.
2: Preenchimento automático de código (LSP)
LSP ou Language Server Protocol é um protocolo que define como um editor se comunica com um "servidor de linguagem" para habilitar opções como destaque de código, verificação de sintaxe, conclusão de código, dicas embutidas, dicas de tipo e muito mais.
Não importa quão bom desenvolvedor você seja, obter dicas de tipo, destaque de erros e muito mais no próprio editor pode não torná-lo um desenvolvedor melhor. Ainda assim, sem dúvida reduzirá seu tempo de desenvolvimento e/ou depuração.
O Neovim vem com suporte pronto para uso para LSP e usa Lua para configurações adicionais. O Vim, entretanto, precisa de um plugin externo para obter esta funcionalidade.
3: Suporte para plug-ins melhores
Um plugin é algo que se conecta a algo existente e adiciona um novo recurso a ele. Nesse caso, um plugin de editor é algo que se conecta ao editor e fornece mais funcionalidades.
O Vim já possui um rico suporte a plugins e também um ecossistema, tanto que existem gerenciadores de plugins só para o Vim!
Mas o Neovim supera o Vim ao permitir que plugins usem uma “linguagem mais versátil” para escrever plugins em Lua. Não que a linguagem interna do Vim fosse ruim, mas se você quiser uma funcionalidade semelhante ao IDE, a configuração ficará complicada. E, com uma linguagem de programação real, esta configuração é comparativamente mais fácil que o Vim.
Isso significa que você pode estender ou modificar até mesmo a funcionalidade principal do Neovim.
Aqui está uma lista de plug-ins exclusivos para Neovim porque o Vim não oferece um nível semelhante de extensibilidade.
4: Inicialização paralela
Discuti acima que o Neovim usa Lua como uma linguagem opcional, mas adicional, para configuração de plugins. Mas você sabia que o Neovim inicia cada plugin em paralelo?
Isso deve fazer você se sentir ainda mais rápido com o Neovim, especialmente se você tiver plugins que demoram alguns segundos para inicializar!
5: Capacidade de incorporar o editor
Devido à base de código do editor Neovim ser comparativamente mais fácil de manter do que o Vim, a possibilidade de incorporar o editor principal em outra coisa torna-se uma possibilidade real.
Você pode finalmente ter um bom editor no VS Code agora 😎
6: Localização do(s) arquivo(s) de configuração
Tendo usado o Vim, quando eu precisava distro hop migrar para uma nova distribuição Linux diferente, normalmente eu esquecia de fazer o backup do ~/.vimrc
porque ele não estava no meu diretório ~/.config
.
A maioria dos aplicativos Linux modernos adere a um padrão chamado XDG (Cross Desktop Group). Este padrão define várias coisas, mas uma das coisas mais importantes, neste caso, é o local de onde a aplicação carrega seu(s) arquivo(s) de configuração.
Este padrão determina que os arquivos de configuração específicos do usuário devem ser armazenados dentro do diretório ~/.config
. O Neovim adere a isso e o arquivo de configuração primário (init.nvim
) é armazenado dentro do diretório ~/.config/nvim/
.
Este é um pequeno problema, mas tem um grande peso ao fazer um backup dos arquivos importantes do seu computador.
7: Otimizações feitas no Neovim
Antes de falar sobre otimizações, observe que ambos editores são rápidos o suficiente para que nenhum pareça mais rápido que o outro nas tarefas do dia a dia. Mas me sinto obrigado a compartilhar isso.
O Neovim possui diversas otimizações na forma como reage aos comandos do usuário. Por exemplo, execute o seguinte comando:
:g/<pattern>/d
Se você executar o comando acima no Vim, ele encontrará todas as linhas com o padrão regex especificado e excluirá essas linhas. Isso não é tudo que o Vim fará. A tecla d
também copia o texto excluído para o registro (área de transferência).
Isso significa que o Vim fará o seguinte:
Encontre a linha com o padrão
Copie para o registro
Exclua a linha
Vá para a etapa 1 se houver outras linhas com padrão correspondente
Se você não quiser a Etapa 2, você pode usar o seguinte comando no Vim:
:g/<pattern>/d _
O comando acima fará tudo menos copiar a linha para o registrador, agilizando a operação. Suponha que você execute o comando anterior (sem sublinhado) no Neovim. Nesse caso, ele notará que você está tentando excluir várias linhas e irá "otimizá-las" automaticamente incluindo o sublinhado.
Bônus: melhor configuração pronta para uso
Esta é uma opinião um tanto pessoal, mas se você é novo no Vim ou no Neovim, aconselho você a começar sua jornada com o Neovim. Ambos os editores podem ser configurados, mas o Neovim tem padrões melhores.
Por exemplo, o Neovim tem os seguintes botões girados por padrão:
autoindent
está habilitado por padrãoO padrão de
background
é "escuro", a menos que seja explicitamente definido pelo terminalhlsearch
(destacar todas as correspondências) está habilitado por padrão
Embora com versões mais recentes do Vim, isso pode estar sujeito a alterações, pois ambos os editores estão em constante evolução.
Conclusão
O Vim foi criado para melhorar o editor Vi existente. Significa V melhorado. Da mesma forma, o NeoVim foi criado para melhorar o editor Vim existente. Significa Novo Vim.
Sou usuário do Vim há dois anos desde que experimentei e felizmente migrei todas as minhas configurações do Vim para o Neovim. Este artigo descreve por que alguém pode escolher o Neovim em vez do Vim tradicional.
Você ainda está usando o Vim? Comente e me diga o porquê! :)