Porque usar um editor de código no terminal e porque você tem que configurar ele você mesmo
Uma demonstração rápida de como o uso do NeoVim configurado na mão, é uma excelente maneira de melhorar o seu workflow
Salve turma, eu ja falei aqui uma ou duas vezes que eu sou velho gosto de usar editores de texto ou IDEs no terminal. Faço isso porque sou velho acho que meu workflow fica mais fluído e além disso eu consigo gerenciar meu foco de uma forma mais otimizada. E vou tentar mostrar que em vez de usar pacotes de configuração e pluings prontos, você irá conseguir uma melhor experiência.
Antes de mais nada, o mais importante. Para sair do NeoVim (e de >qualquer sabor de
vi
que você estiver usando), lembre-se:q
NeoVim FTW
O NeoVim Esta reimplementação do vim é uma das mais interessantes IMHO, pois além de ter sido feita com menos código, ela implementa muitas melhorias interessantes, como APIs, suporte a script e plugins em Lua, cliente de LSP (Language Server Protocol) embutido, retro compatibilidade com o padrão vim
e por aí vai.
O que nos outros sabores do vim
seria em arquivos de configuração, ou em códigos VIMScript o NeoVim nos permite migrar toda a configuração e personalização do editor para código em Lua. Seria algo mais ou menos assim:
-- This file can be loaded by calling `lua require('plugins')` from your init.vim
local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
vim.cmd [[packadd packer.nvim]]
return true
end
return false
end
local packer_bootstrap = ensure_packer()
return require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
-- Install Telescope
use {
'nvim-telescope/telescope.nvim', tag = '0.1.0',
requires = {
{ 'nvim-lua/plenary.nvim' }
}
}
-- LLLOOOOOTSsss of plugins....
if packer_bootstrap then
require('packer').sync()
end
end)
O exemplo acima é o código que eu uso para inicializar o gerenciador de plugins Packer e começar a instalar e atualizar a lista de plugins que eu uso na minha instalação do NeoVim.
Se você esta começando agora no Vim ou já usa, fica minha sugestão de dar uma olhada nos vídeos do youtuber/streamer ThePrimeagen tem muita coisa boa lá, especialmente este vídeo, no qual ele monta o ambiente do zero até a configuração do LSP e suporte a code analysis e completion, veja lá: https://www.youtube.com/watch?v=w7i4amO_zaE
Depois de algumas horas, o resultado final é algo muito satisfatório e muito difícil de largar...
Mas e ai? Qual a importancia de você mesmo configurar este tipo de editor
Estes editores, NeoVim, EMACS, Visual Studio Code o nível de customização é gigantesco e a combinação de configurações possíveis é ilimitada. Por mais que alguns comandos ou atalhos sejam comuns, (<C-S>
para Salvar no Windows, <S-S>
para Salvar no MacOs, por exemplo) os pacotes de customização sempre seguem a filosofia de seu criador.
Não há nada de errado nisso, e nem esta errado em você usar um pacote de configuração pronto, mas usar um pacote pré-configurado, como por exemplo o excelente NvChad vai exigir um esforço e uma curva de aprendizado relativamente maior.
Lembrando que usar o Vim é basicamente usar tudo pelo teclado e atalhos (como a comunidade diz, motions), então em vez de decorar atalhos dos outros, criar uma configuração de motions personalizados para um editor que é a sua cara e de quebra você aprende uma linguagem nova e um jeito novo de trabalhar? que tal?
Concordo com você, depois que peguei gosto pelo vim não consegui mais sair hehehe :smile: Acabei de fazer um post com um compilado de artigos aqui do tabnews e canais do YouTube para quem quiser migrar para o terminal também.
Eu comecei a usar o NeoVim semana passada. Estou apanhando bastante ainda, mas estou gostando de usar editor pelo terminal. No meu trabalho uso o plugin para o IntelliJ. A maior dificuldade ainda é conseguir navegar rapidamente pelo texto sem usar o mouse.