Por que usar Vim (ou NeoVim)?
Fala pessoal! Por tempos venho tentando entender um movimento que vejo na internet, principalmente de devs criadores de conteúdo, onde tentam empurrar a idéia de que o Vim deveria ser o seu editor de código padrão. Diversas vezes tentei utilizar mas sempre acabo voltando para o VsCode porquê sinto que é uma complicação desnecessária...
Me parece que usar Vim é ignorar todas as conveniências que temos com outros editores, como o próprio VsCode e isso só fica mais escancarado ainda quando vejo que todos esses devs que utilizam Vim, enchem o editor de plugins e passam horas e horas configurando para, no final das contas, se aproximar das funcionalidades padrão do VsCode.
Talvez seja apenas minha visão ou falta de prática, mas ainda não consigo utilizar exclusivamente o Vim para trabalhar com meus projetos. Acabo usando uma vez ou outra quando preciso fazer alguma edição simples, mas, no final das contas, VsCode ainda é meu editor favorito.
Claro que existem devs que são mais habituados e preferem por utilizar o Vim, por quaisquer sejam os motivos, mas também não deixo de pensar que todo esse fuzuê é primariamente para criar conteúdo na internet e fazer vídeo de coding no YouTube kkkkkkkkkk. A mesma coisa serve pra galera que faz vídeo de extensão do VsCode.
Este post foi mais um "desabafo", pode ser que não agrade a todos, mas pensei em publicar aqui para compartilhar meu pensamento e tentar trocar ideias com vocês para descobrir se existem mais pessoas com esse mesmo sentimento.
Valeuu!
Uso Neovim há mais de 1 ano como editor padrão e antes disso já tinha tentado usar Vim algumas vezes, mas ter que configurar as coisas em vim script sempre me fazia voltar para o VS Code. Aqui vai alguns pontos que eu acho importante (não vejo conteúdo BR tirando Akita e Filipe, então talvez sejam coisas comentadas, mas não tenho conhecimento):
- Se quer um editor de texto que faça as coisas do VS Code, você quer um VS Code e não outro editor de texto. Não tem sentido mudar sua ferramenta para outra se quer que a outra seja a igual a sua atual. Se está mudando, espera-se, pasme, mudanças.
- Se não quer perder tanto tempo configurando Neovim, mas quer aproveitar as keybinds, é só usar um emulador no seu editor atual. Acho o do VS Code podre, mas o da JetBrains é bom. Se realmente quiser o Neovim, existem as chamadas distros (ex.: LazyVim), que já vêm com várias coisas instaladas por padrão e deixam adicionar outras por fora.
- O propósito de um editor de texto é justamente ter poucas funcionalidades, infelizmente, por algum motivo, o editor mais conhecido é VS Code, mas vendo Sublime e Notepad++ é possível perceber como são simples e com uma barreira menor que (Neo)Vim. Eu mesmo não uso uma distro, configurei do zero, lendo documentação e tudo mais, porque eu tenho no meu editor apenas o que eu sei que preciso/quero. O VS Code vem com um monte de funcionalidades e para se tornar "funcional" ainda tem que colocar mais plugins. É um intermédio de IDE e editor de texto horrível, sendo ruim nos dois casos: não é leve e mínimo como um editor e nem tem todas as funcionalidades de uma IDE especializada em alguma linguagem.
- Minha mudança de VS Code para o Neovim teve muito a ver com o fato do LSP de C ser extremamente lento.
- Depois que entrei nesse buraco de Vim, comecei a usar as keybinds para tudo e acho muito gostosinho. Uso Vimium para mexer no navegador e a maioria dos programas ou sites focados em escrita tem o modo vim possível de ativar nas configurações (ex.: LeetCode, Obsidian).
- Usar Neovim me fez realmente aprender a usar meu editor, saber os atalhos e como as coisas estão funcionando. Você precisa usar Neovim para aprender essas coisas? Não, mas também não existe estímulo de aprender quando você usa editores que deixam tudo abstraído, mesmo sendo possível.
No fim das contas o importante é escrever código, independente do meio que você prefere.
Todas as minhas opiniões são baseadas no meu uso de Neovim em Linux e não posso afirmar se em Windows é tão bom quanto.
Um tempo atrás eu testei o Neovide, nada contra a ferramenta, mas é bem isso que você falou. Você perde horas e horas para tentar se aproximar do que o VsCode faz hoje sem plugins. A minha motivação na época era consumir menos processamento e memória, mas com base nos testes que eu realizei, não teve diferença ao ponto de ser notório.
Muita gente faz isso com a mesma premissa do distro hopping (ficar mudando de distro linux), nada contra isso, é até muito divertido configurar seu editor de texto do zero e fazer as suas modificações, mas isso não pode interferir na sua produtividade, que foi o meu caso kkkk.
E outra coisa, muito massa os key bindings do Vim e a maneira em que é feita a movimentação, mas só funciona no Vim. Já procurei plugins para o chrome, para o linux mas tudo me pareceu uma grande gambiarra. É por esse e outros motivos que permanesso no VsCode no geral e Visual Studio 22 para projetos C#.
Vou dar apenas uma opnião cheia de falhas:
1° ponto: As pessoas estão muito extremistas, ou vivem totalmente imerso no tradicional ou totalmente imerso no moderno excluindo as qualidades do outro lado, mas com meu pouco conhecimento aprendi que voce consegue unir o melhor dos dois mundos. Muitos devs tambem necessitam se sentir superiores por conseguir realizar um trabalho do modo mais dificil ou mais "raiz" possivel
2° ponto: Por muito tempo os computadores foram utilizados via linha de comando atraves de terminais, dai os devs mais oldschool se acostumaram, conforme voce vai envelhecendo, voce vai perdendo a disposição de se adaptar a tecnologias e ferramentas novas, a idade vem, mais responsabilidades e voce acaba correndo de tecnologias nao triviais, editores como vim são otimos sim e tudo e questão de costume, o problema e voce esta atolado de tarefas (profissionais e pessoas) e ter saco para aprender algo diferente sabendo que vai melhorar um pouco sua vida mas não melhora la de fato, usar algumas funções via terminal são mais faceis, mas combinar terminal e GUI voce consegue aproveitar o melhor dos dois mundo.
Respondendo mais diretamente sua pergunta: a ide que voce vai utilizar é apenas uma ferramenta para auxiliar na hora de voce escrever um código, a diferença mais basica entre elas é a quantidade de recursos extras como cores, formatadores, debugadores e pluguins para te poupar alguns trabalhos mais maçantes como identação automatica por exemplo ou fechar blocos de maneira automatica, o Vim por ser mais antigo é bem mais leve e voce acaba economizando fragmentos de segundos na hora de carregar um arquivo, alternar e tudo mais, pelo que pude observar tambem os atalhos para a navegação são bem diferentes, no final acredito (no meu humilde conhecimento) que é mais questão de costume.
Detalhesinho: ferramentas mais simples tendem a ser mais confiaveis pois quanto menos elementos, menos chance de bugs
Particularmente, não assisto a muitos vídeos de influenciadores de tecnologia, por isso não percebo os criadores de conteúdo promovendo essa ideia.
Vejo vantagens em ambas as ferramentas. Por exemplo, o VSCode é mais simples de configurar como editor principal, mas em um servidor, você não terá o VSCode à disposição. Nessa situação, é necessário ter um conhecimento básico de VIM. Um exemplo eu uso o Postman; já ouvi argumentos como: "E se você precisar fazer uma requisição e não tiver a ferramenta? Por isso eu uso CURL." Para mim, essa justificativa para usar CURL é facilmente refutável, mas é apenas um exemplo.
Contudo, é importante lembrar que essas são apenas ferramentas. De fato, há pessoas que são mais produtivas usando VIM ou outros editores mais antigos. A pessoa mais produtiva que conheço, por exemplo, usa VIM. Afirmar que ela seria mais produtiva com um editor como o VSCode seria puro achismo. Considero uma habilidade saber usar VIM e ser produtivo com ele, talvez eu fosse mais produtivo se usasse o VIM, mas isso também não deixa de ser uma suposição.
Concluindo minha ideia, sinceramente não entendo os defensores de ferramentas, principalmente porque o que realmente agrega valor (no caso de um desenvolvedor) não vai ser a ferramenta em si, mas o produto final (neste caso, o código ou qualquer coisa criada com o editor de texto). Afinal, são apenas ferramentas, e é inegável que algumas pessoas se adaptam melhor a editores "raizes" enquanto outras preferem os mais modernos.
Eu comecei a migrar do vscode pro Neovim a um tempo, por diversos motivos, e pra ser bem sincero, não me sinto mais produtivo no vim do que no vscode, o principal ganho foi não ter que trocar de aplicação, eu passo muito tempo no terminal, então não perder o tempo que o vscode leva pra abrir(dependendo do tamanho do projeto) valeu muito a pena, principalmente quando você preciso ficar trocando muito entre projetos. Mas após 1 ano usando o vim eu posso dizer que sou tão produtivo no vscode quanto sou no vim. Só mais um detalhe, não uso vim pra tudo, pra java/PHP eu prefiro usar as ides da jetbrains que são fantásticas a usar o vim.
Eu passei a usar o neovim por que eu tava tendo dores na mão e quis testar se usando menos o mouse iria diminuir as dores, pelo menos para mim funcionou. Outro motivo foi ter que ficar acessando servidores e as vezes ter que alterar arquivos. O terceiro motivo seria que eu enjoei a cara do vscode kkk. Em questão de produtividade talvez seja a mesma do vscode. Ainda uso o vscode se tenho que ler apenas um arquivo de forma rápida, mas o neovim é o meu principal editor.
Também não entendo. Se posso usar uma ferramenta mais visual, completa, pronta para uso como o VS Code ou WebStorm, pra que vou perder tempo montando uma IDE?
Ainda mais nos tempos de hoje que memoria RAM está tão barata, a justificativa de "é mais leve" não compensa o desperdício de tempo.
Eu uso o lunarvim e VIM Motions no VSCODE. Às vezes me dá uma preguiça de configurar o SSH no VSCODE pra acessar a EC2, e ai eu aprendi os comandos que eu julguei mais relevantes do VIM. No geral, é importante ressaltar que isso nao vai te tornar um melhor programador, te torna mais ágil para fazer algumas coisas. Mas tem o custo do aprendizado.
Usar o VIM MOTIONS como VSCODE me deixou mais feliz do que usar o VIM puramente
Salve! Realmente, vejo que está rolando uma onda crescente no uso do nvim como editor de código padrão.
Eu meio que fui forçado a migrar pro nvim porque meu computador (Mac M1) não estava mais aguentando a aplicação com a qual eu estava trabalhando, e isso estava exigindo muito processamento. Então, eu precisava de algo que fosse rápido e consumisse menos recursos.
Alguns chamam esse movimento de New Wave Programming
, e acredito que tem muito a ver com outro movimento de customização de ambiente, tipo o subreddit unixporn. Acho que é mais um movimento para trazer aquela sensação de pertencimento a algo maior.
Afinal, depois de passar horas configurando seu ambiente nvim, você acaba desenvolvendo um apego maior e sente a necessidade de compartilhar suas experiências com outros. Isso faz com que você se integre a uma comunidade, criando laços e trocando conhecimentos.
Sem falar que é aesthetic pacas uahuhauha
Olá, o seu argumento é válido.
Utilizo o neovim/Lazyvim (aquele que não precisa perder horas configurando) faz quase um ano. Tinha dores no pulso recorrentes e depois que adotei o teclado split ortolinear com "vim" estou muito contente com o resultado e produtividade. Já usei muito Intellij e VSCode mas me encontrei na configuração atual, tanto que utilizo as keybinds no vim no Obsidian. Gosto da rapidez e liberdade que o modo de trabalhar com o teclado me propõe.
Como dizem, não existe bala de prata. O que for melhor para você é o que vale.
Sucesso pra ti.
Eu uso por ser mais rápido, quando vou criar scripts pequenos ou editar um arquivo de configuração tipo um /etc/default/grub. Faço tudo pelo teclado sem usar o mouse, ainda mais que uso muito o terminal.
O mundo dev tem modinhas de tempos em tempos. A atual é "você tem de usar vim". O que importa é se você consegue o não ser produtivo nele. E sim, esse fuzuê é pra ter engajamento nas redes sociais.
Eu há um bom tempo entrei na fase "CAGANDO e ANDANDO" para idéias radicais.... Linux x Windows x Mac, Postgres x Mysql, Java x O mundo.... E tantos outros.. Eu usei o VIM muitos anos e foi muito bom, principalmente em situações que estava no servidor e precisava abrir um arquivo rapidamente e nao tinha acesso gráfico. Sempre me atendeu bem. Hoje no meu dia a dia minhas ferramentas prediletas sao da JetBrains, PHPStorm, RustRover são as que uso mais. Mas nada contra VSCode que acho maravilhoso, mas não uso tanto. Gosto muito do Visual Studio também. Mas enfim.... É algo bem pessoal e tudo é tecnologia... Cada um escolhe o que gosta. Em alguns casos a empresa tem suas normas e ferramentas, o que não tem problema nenhum.
Acho uma perda de tempo as brigas por estes temas..... Perda de tempo total.
Parece aquele dialogo..
-
Programador 1: Meu pau é maior que o seu!!!
-
Programador 2: É maior, mas é fino...
E por ai vai... Sempre tem os contra pontos. kkk
Grande abraço.
Coragem e coerência. Valeu