Vim vs Neovim: Qual é Melhor e Qual Você Deve Usar?

O que é Neovim e como é diferente do Vim

Seja você um programador, escrevendo scripts ou simplesmente gerenciando arquivos de configuração, sua escolha de editor pode impactar significativamente tanto sua produtividade quanto seu prazer. A beleza do Linux é que existem várias opções de editores de texto disponíveis para você escolher, incluindo o Vim e sua versão aprimorada, o Neovim. O debate entre Vim e Neovim continua a evoluir entre os usuários do Linux, com opiniões fortes de ambos os lados. Neste guia, exploraremos o Vim, o Neovim, suas capacidades e as principais diferenças entre eles.

O que é Vim?

Vim, ou Vi IMproved, é uma versão mais avançada e rica em recursos do antigo editor de texto chamado vi, que era uma ferramenta fundamental nos sistemas operacionais UNIX. Ele roda em várias plataformas, incluindo sistemas Unix, Windows, macOS e mais. Se você está usando macOS ou qualquer distribuição Linux, há uma boa chance de que o Vim já esteja instalado e pronto para uso em seu sistema.

Se não estiver instalado, você pode facilmente instalá-lo usando seu gerenciador de pacotes padrão. Por exemplo, no Ubuntu, você usaria:

sudo apt install vim

Após a instalação, basta digitar vim no terminal para iniciá-lo.

Iniciando o Vim a partir do terminal do Ubuntu.

O Vim oferece um ambiente de edição modal que permite navegar pelos arquivos, fazer edições, salvar seu trabalho e realizar uma infinidade de outras ações – tudo isso sem precisar usar o mouse. Além disso, você pode ajustar virtualmente todos os aspectos de seu comportamento e aparência para se adequar perfeitamente ao seu fluxo de trabalho através de um arquivo de configuração. O único problema é que pode ser difícil de usar para um novo usuário, e alguns até têm problemas para sair do Vim.

O que é Neovim?

O Neovim se baseia no legado do vi e do Vim. Ele surgiu como um fork do Vim em 2014, com o objetivo de abordar limitações percebidas na arquitetura do Vim, enquanto preserva a filosofia de edição modal que muitos usuários adoram. O Neovim serve como um substituto direto para o Vim, o que significa que você pode continuar usando seu arquivo de configuração “.vimrc” existente.

Para uso básico, o Neovim parece quase idêntico ao Vim. O que diferencia o Neovim é seu suporte a recursos modernos, como processamento assíncrono, que permite que operações sejam executadas em segundo plano sem travar a interface. Outros recursos incluem emulação de terminal embutida, permitindo que os usuários executem comandos de shell sem sair do editor.

Ao contrário do Vim, o Neovim não vem pré-instalado. No entanto, instalar o Neovim é simples. Por exemplo, no Ubuntu, execute:

sudo apt install neovim

Instalação do Neovim no Ubuntu

Após a instalação, inicie o Neovim com o comando nvim.

Iniciando o Neovim a partir do terminal do Ubuntu

O Neovim inclui um tutorial embutido para ajudá-lo a começar. Inicie o Neovim e digite :Tutor para aprender os fundamentos (incluindo como sair do programa).

Principais Diferenças Entre Vim e Neovim

Embora o Vim e o Neovim funcionem de maneira semelhante, o Neovim oferece uma experiência mais refinada no geral.

Uma das principais melhorias no Neovim está em sua arquitetura. Ele foi projetado para ser mais manutenível e modular, o que reduz a barreira para contribuições e permite que ele evolua mais rapidamente. Essa mudança arquitetônica também leva a um melhor desempenho e confiabilidade. Enquanto o Vim continua sendo um editor robusto, o design do Neovim o torna mais preparado para o futuro e amigável para desenvolvedores.

Opção de guia do Neovim

Além disso, graças à arquitetura assíncrona do Neovim, tarefas podem ser executadas em segundo plano sem travar o editor. Você pode obter sugestões de autocompletar, executar linters ou carregar grandes projetos, e o Neovim continua funcionando suavemente.

O Neovim não apenas suporta plugins do Vim – ele os melhora. O sistema de plugins do Vim depende fortemente do Vimscript, que pode ser restritivo e mais difícil de trabalhar. O Neovim expande isso ao suportar Lua, uma linguagem de script moderna e leve. Ferramentas como telescope.nvim e nvim-treesitter oferecem uma busca e destaque de sintaxe significativamente melhores do que o que o Vim fornece.

O Neovim também lida com arquivos de configuração de uma maneira mais padronizada. Enquanto o Vim armazena configurações e plugins no diretório hardcoded “~/.vim”, o Neovim segue a Especificação do Diretório Base XDG, colocando arquivos em “~/.config/nvim”. Essa estrutura mantém a organização dos arquivos mais limpa e flexível. Apesar dessa diferença, o Neovim continua compatível com arquivos de configuração do Vim.

Assim como o Vim, o Neovim oferece uma interface de usuário baseada em terminal, mas adiciona a conveniência de um emulador de terminal embutido. Além do terminal, o Neovim suporta interfaces gráficas modernas como Oni, Goneovim e VimR.

Prós e Contras do Vim e do Neovim

Vamos discutir os prós e contras de cada editor para que você possa decidir melhor qual deles se alinha com suas necessidades.

Prós do Vim:

  • Pré-instalado na grande maioria dos sistemas baseados em Linux
  • Estabilidade excepcional com uma base de código madura e bem testada
  • Adoção generalizada e suporte da comunidade
  • Desempenha bem em sistemas com recursos ou largura de banda limitados

Contras do Vim:

  • A curva de aprendizado inicial pode ser bastante íngreme
  • Gerenciar plugins pode ser mais complexo
  • Integrar certos recursos modernos é mais desafiador
  • Falta suporte embutido para o Protocolo de Servidor de Linguagem (LSP)

Prós do Neovim:

  • Oferece desempenho melhorado e uma experiência de usuário mais responsiva
  • Suporte embutido para o Protocolo de Servidor de Linguagem
  • A scriptagem em Lua fornece uma maneira mais eficiente de desenvolver e configurar plugins
  • O gerenciamento de plugins é geralmente mais fácil e simplificado
  • Vem com configurações padrão mais sensatas e amigáveis ao usuário
  • Inclui um emulador de terminal embutido

Contras do Neovim:

  • Não é instalado por padrão na maioria dos sistemas
  • Alguns plugins do Vim que dependem de recursos específicos do Vim podem exigir ajustes
  • Plugins mais antigos do Vim podem não funcionar perfeitamente sem modificações
  • Usa ligeiramente mais recursos do que o Vim
  • Mudar para Lua para configuração requer aprender uma nova linguagem

Qual Você Deve Usar: Neovim vs. Vim?

Escolher entre Vim e Neovim depende do seu fluxo de trabalho, nível de conforto e do que você precisa de um editor. Opte pelo Vim se você frequentemente trabalha em diferentes sistemas onde não pode instalar novos softwares – ele está disponível quase em toda parte. Também é ótimo se você deseja um editor estável e leve que raramente muda e funciona bem em ambientes com poucos recursos. Além disso, mantenha-o se você já passou anos ajustando sua configuração do Vim.

Por outro lado, escolha o Neovim se você deseja uma experiência de edição moderna. Ele tem melhores padrões, suporte ativo da comunidade e recursos como LSP embutido e script em Lua. É ideal se você é um desenvolvedor que deseja recursos semelhantes a IDEs sem a sobrecarga. E se você é novo na edição modal, os padrões mais inteligentes do Neovim tornam a curva de aprendizado mais fácil.

Considerações Finais

Embora tanto o Vim quanto o Neovim sirvam ao mesmo propósito central, o Neovim oferece uma experiência de edição mais moderna e capaz. Ele se baseia na fundação do Vim com desempenho melhorado, desenvolvimento de plugins mais fácil, integração LSP e suporte aprimorado à interface do usuário. Essas melhorias fazem do Neovim uma alternativa forte para desenvolvedores que buscam um editor mais poderoso e extensível.

Muitos desenvolvedores usam ambos – Neovim para trabalho de desenvolvimento local e Vim para edições rápidas em servidores remotos. Pessoalmente, eu experimentei ambos e me estabeleci no Vim devido à sua confiabilidade e disponibilidade em várias distribuições Linux.

No final, eles compartilham a maioria das mesmas habilidades e keybindings, então aprender um quase o torna fluente no outro. Esses não são apenas dois editores – o que torna o Linux especial é a ampla variedade de opções de editores disponíveis para atender à preferência de cada usuário.