Tudo sobre Neovim com Lua - Como Customizar do Zero

Série de como customizar o seu Neovim do zero com Lua!


Tudo sobre Neovim com Lua - Como Customizar do Zero

Salve, rapaziada! Marcos aqui.

Estou a um bom tempo sem postar vídeos no canal TerminalRootTV porque estou com alguns probleminhas técnicos mais precisamente com meus móveis, quando eu retornar a publicar vídeos vou fazer um vídeo tentando explicar ao certo e provavelmente mostrando algumas coisas novas.

Mas enquanto lá não fica pronto, vamos criar conteúdo por aqui mesmo.

Muita gente tem perguntado sobre customização do zero do Neovim , então a partir desse artigo vamos iniciar uma série de “ainda não sei bem o número de artigos suficientes” para repassar para vocês tudo que aprendi sobre o Neovim .

Para acompanhar essa série, acho que seria muito importante você possuir um conhecimento básico de Vim, Neovim e Lua . Sugiro os links, vídeos, cursos e playlists abaixo:


Por que muita gente está migrando para o Neovim ?

Como já falamos em algum lugar dos links acima citados, o Neovim resolveu um problema de “lentidão” do Vim em relação ao uso de plugins . E o principal motivo disso foi entregar para a linguagem de programação Lua todos os: cálculos, filtragens, verificações e entre outros, pelo fato do Vimscript não ser uma linguagem muito veloz, até porque ela, até então, foi feita sem otimizações somente para executar tarefas básicas.

Mas as coisas foram crescendo e chegou um ponto que ela se tornou uma “pedra no sapato” do Vim . Logo, surgiu o Neovim com o intuito de resolver esse problema. Ou seja, para não “reinventar a roda” e ter de alterar todo o Vimscript(que seria um baita de um trabalho) adotou-se uma linguagem que já possui todas as otimizações necessárias que é a linguagem de programação Lua.

Se você quiser mais detalhes sobre isso sugiro essa palestra do Justin M. Keyes(atual Líder e Mantenedor do Neovim) que foi ministrada na VimConf de 2019 .


Como Lua consegue modificar as configurações do editor ?

O Vim possui diversas API’s que servem para o mesmo e elas foram expandidas pelos programadores do Neovim com intuito de tornar ainda mais fácil a manipulação dos dados por Lua . Veremos mais detalhes, do zero, como isso acontece no próximo artigo . Mas após os testes, os benchmarks e próprio uso, notou-se MUITA diferença em relação à velocidade.


O que vamos fazer ao certo com essa série ?

Vamos customizar DO ZERO todo nosso Neovim de forma original sem uso de distro. Utilizando os melhores plugins para diversas situações e criando nosso próprio código para situações particulares, por isso a necessidade de possuir um conhecimento básico de Lua .

Eu cheguei a postar uma captura de tela da minha configuração, mas a verdade é que aqui faremos bem melhor com diversas coisas que não é possível mostrar num simples screenshot . mas caso você não tenha visto, segue a captura de tela do Twitter do Terminal Root:



Vou tentar detalhar o máximo cada passo e publicar, pelo menos, 1 artigo dessa série por dia. Mas ao final teremos um vídeo com algumas dicas adicionais, até porque aqui no blog eu removi o bloco de comentários e lá no Youtube poderemos interagir melhor, mas vou tentar repôr os comentários aqui no blog.

Então, por hoje é só e não se esqueça de se inscrever no nosso newsletter para não perder nenhum artigo da série.


Outros artigos da série

  1. Como Customizar do Zero
  2. Do init.vim para o init.lua ← Próximo
  3. Instalando Plugins
  4. Personalizando a Aparência
  5. LSP, Autocomplete e Machine Learning

neovim lua


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!


caso queira entrar em contato conosco, envie-nos um e-mail.