Apresentação: "Dando um salto quântico de produtividade com o Neovim"
(docs.google.com)Vídeo da gravação: https://www.youtube.com/watch?v=XYQnyJVGk-4&t=1s
Apêndice: https://kodingwarrior.github.io/wiki/appendix/excelcon-2nd/
No dia 2023-06-03, apresentei na 2ª ExcelCon com o tema "Dando um salto quântico de produtividade com o Neovim" e, mesmo que tardiamente, estou compartilhando isso aqui também.
Resumo da apresentação
Como a produtividade aumentou apenas por usar o Neovim?
- Ao alternar entre VSCode, Notion, RoamResearch, GitKraken etc. e depois consolidar tudo no Neovim, a carga cognitiva desnecessária diminuiu.
- Mesmo alternando entre macOS e archilinux, é possível manter um ambiente de desenvolvimento consistente em qualquer lugar (
dotfiles). - Não preciso mais me preocupar com o desempenho do dispositivo.
- Before: ao trabalhar com vários aplicativos abertos, como AndroidStudio, VSCode, RoamResearch etc., ocorria thrashing com frequência. Até digitar o código-fonte levava muito tempo / After: nem se ouve mais o barulho de avião decolando. O uso de memória também é bem baixo.
3 passos para aumentar a produtividade
- Melhorar a produtividade deve começar pela metacognição de analisar em quais ações estou gastando tempo desnecessariamente.
- Primeiro, familiarize-se com as ferramentas que você usa.
- Observe quais tarefas você realiza repetidamente e procure formas de reduzir o tempo gasto nelas. (ex.: templates, plugins, macros, snippets, …)
- No processo do passo 2, escolha o que funciona para você e incorpore isso ao seu hábito.
Organizei no blog, como apêndice, os conteúdos que não consegui explicar por causa do tempo.
- Starter kits para iniciantes em Neovim, incluindo AstroNvim e LazyNvim
- Plugins tree-sitter dedicados ao neovim
nvim-cmp, que oferece funcionalidade de autocompletar
Também mantenho uma comunidade no Discord (vim.kr) para quem quer usar melhor o Vim, então conto com o interesse de todos :)
11 comentários
https://github.com/github/copilot.vim
Eu uso o Copilot do VS Code tão bem que fui procurar e vi que também existe um plugin do Copilot para Neovim. Eu estava pensando em testar, então acho que vou experimentar o Neovim.
Na primeira empresa para a qual mudei de emprego, o pessoal desenvolvia acessando remotamente um servidor Linux com vim + tmux.
Achei esse ambiente marcante porque permitia programação em par remota. (as alterações no código apareciam na hora, e o terminal também era compartilhado)
Foi por meio dos dotfiles no servidor remoto (
.vimrc,.bashrc) que comecei de fato a entrar no mundo do vim.Lembro que consegui começar com mais tranquilidade porque já havia exemplos, então me identifiquei bastante com a parte do texto que fala sobre dotfiles haha
Eu também migrei do NVIm para o vscode, mas vendo este texto dá vontade de voltar de novo. hehe
Fico muito feliz em ver uma discussão sobre editores de texto. Quando você aceita que, no fim das contas, tudo gira em torno de lidar com texto, deixa de parecer um peso dar atenção ao seu próprio ambiente de texto. Eu comecei a usar o Emacs no ano passado, e realmente passei a conseguir fazer tudo pelo teclado. Como foi dito no item 0, isso acabou reduzindo muito o tempo desperdiçado. Tomara que o vim.kr prospere!!
Fiquei em dúvida se foi algo que deixei passar no vídeo, então pergunto: quando você disse que substituiu o Notion pelo neovim, isso quer dizer que você montou um sistema de wiki no neovim e usa isso, ou que existe alguma biblioteca para operar o Notion a partir do neovim? A intenção da pergunta é entender se o Notion usado na empresa também pode ser operado pelo neovim.
Claro que eu não estava manipulando o Notion nem nada do tipo.
Se o Notion oferecesse suporte a API, em teoria até daria para manipulá-lo pelo neovim, mas até agora ainda não vi tentativas desse tipo.
Quanto a saber se o notion usado na empresa pode ser manipulado pelo neovim, acho que há questões de política envolvidas, então é difícil dar uma resposta definitiva.
O Notion oferece uma API, mas na prática me vieram à mente várias limitações, então a implementação acabou ficando parada. Achei que talvez houvesse alguma boa solução. Obrigado pela resposta :D
É mais próximo de dizer que montei um sistema de wiki. Existe um plugin chamado telekasten.nvim que atende mais de 100% dos meus requisitos e já traz praticamente todos os recursos necessários.
O recurso de templates também é bem decente. A funcionalidade de gerenciamento de documentação interna também é boa.
Uma das funções de que eu gostava pessoalmente, a visualização em grafo, também implementei eu mesmo usando uma biblioteca chamada force-graph.
Achei que poderia servir de referência, então deixo também os links do código-fonte relacionado.
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- geração dos dados de vértices (documentos)/arestas (links internos) necessários para a visualização em grafo
https://github.com/kodingwarrior/kodingwarrior.github.io/… -- visualização baseada em force-graph
Eu também uso o neovim e encontrei um mundo novo. Então tentei convencer os desenvolvedores ao meu redor a experimentar, mas ninguém aderiu. Usando o neovim, acabei entendendo com mais detalhe as coisas necessárias para montar um ambiente de desenvolvimento. Eu nem sabia que existia uma comunidade coreana de Vim; vou procurar, fico muito feliz em saber disso!
Depende da empresa e da equipe, mas... surpreendentemente, há muita gente que não tem interesse em configurar o ambiente de desenvolvimento..
Para usar bem o Vim, no fim das contas parece que é preciso usar zsh e tmux junto.
Diferente do Emacs, ainda bem que não precisa ter barba.