Migrar do VS Code

    Definição curta: A migração falha quando se tenta reproduzir o VS Code dentro do Neovim; funciona quando se adota o modelo modal primeiro e as ferramentas depois.

    Antes de começar

    • Neovim v0.11 ou mais recente instalado — confira com nvim --version
    • Um init.lua que já carrega, ainda que vazio

    O que você vai aprender

    • Explicar A decisão de fundo com suas palavras
    • Explicar Etapa 1 — só o modal (uma a duas semanas) com suas palavras
    • Explicar Etapa 2 — Neovim mínimo (uma semana) com suas palavras
    • Localizar o assunto desta página no :help do seu próprio Neovim

    A decisão de fundo

    A migração que dá errado é a que tenta transformar o Neovim em um VS Code com outro nome — instalar trinta plugins na primeira semana até que “tudo funcione igual”. O resultado é uma configuração frágil e um editor que você não entende.

    A que dá certo começa pelo que não tem equivalente: a edição modal. Os plugins vêm depois, um a um, conforme a falta é sentida.

    Etapa 1 — só o modal (uma a duas semanas)

    Instale a extensão de Vim no próprio VS Code e continue trabalhando nele. O objetivo é internalizar modos, motions, operadores e objetos de texto sem risco de produtividade.

    Você sabe que a etapa terminou quando ci", da( e >ap saem sem pensar.

    Etapa 2 — Neovim mínimo (uma semana)

    Um init.lua de cinquenta linhas, sem nenhum plugin além do tema — ver init.lua básico e init.lua mínimo.

    Sem LSP, sem árvore de arquivos, sem barra de status. O objetivo é descobrir o que você realmente sente falta, em vez de instalar o que imagina precisar.

    Etapa 3 — as três ferramentas essenciais

    Na ordem em que a falta costuma aparecer:

    1. Busca difusaTelescope. Substitui Ctrl+P e a busca no projeto.
    2. LSPconfiguração do LSP. Autocompletar, ir para definição, renomear, diagnósticos.
    3. Treesitterconfiguração do Treesitter. Realce de sintaxe correto e objetos de texto por estrutura.

    Com essas três, a maior parte do fluxo do VS Code está coberta.

    Tabela de equivalências

    VS CodeNeovim
    Ctrl+P:Telescope find_files
    Ctrl+Shift+F:Telescope live_grep
    Ctrl+Shift+P: (a própria linha de comando)
    F12 ir para definiçãogd
    Shift+F12 referênciasgr ou :Telescope lsp_references
    F2 renomearvim.lsp.buf.rename()
    Ctrl+. ações de códigovim.lsp.buf.code_action()
    Ctrl+B barra lateral:Ex, oil.nvim ou neo-tree
    Ctrl+| dividir editor<C-w>v
    Terminal integrado:terminal
    Multi-cursormacros, :s, ou :g — ver abaixo
    Configurações em JSONinit.lua
    Extensões do marketplaceplugins via lazy.nvim

    O caso do multi-cursor

    É a perda mais citada e a mais superestimada. O Neovim resolve os mesmos problemas por três caminhos diferentes:

    :%s/\vantigo/novo/g          " quando o padrão é descritível
    qa ... q  →  :%normal @a      " quando a transformação é executável
    <C-v> jjj I texto <Esc>       " modo visual em bloco, para colunas

    Na prática, :g/padrão/normal @a cobre a maioria dos usos de multi-cursor e funciona em arquivos onde o multi-cursor seria inviável. Ver macros.

    O que realmente se perde

    Vale ser honesto:

    • Depuração gráfica integrada. O DAP funciona, mas configurar é mais trabalhoso e a interface é menos polida.
    • Live Share e colaboração em tempo real. Não há equivalente maduro.
    • Ecossistema de extensões de nicho. Ferramentas de fornecedores específicos frequentemente só existem para VS Code.
    • Funcionar sem configuração. O Neovim exige que você configure; isso é o custo do controle que ele oferece.

    O que se ganha

    • Um editor que não muda sozinho. Sua configuração é um arquivo de texto versionado.
    • Consumo de recursos muito menor, o que importa em máquinas modestas e sessões remotas.
    • O mesmo editor em qualquer servidor, por SSH, com a mesma configuração.
    • Edição modal, que é o ganho de fato — e o único que não se leva de volta ao VS Code.

    Erros comuns

    • Instalar uma distribuição pronta na primeira semana — funciona, e você não aprende nada; se algo quebrar, não há como diagnosticar
    • Recriar todos os atalhos do VS Code — luta contra o modelo em vez de usá-lo
    • Desistir na primeira semana — a curva é real e a virada costuma vir na terceira
    • Migrar durante um prazo apertado

    Você aprendeu

    • A decisão de fundo
    • Etapa 1 — só o modal (uma a duas semanas)
    • Etapa 2 — Neovim mínimo (uma semana)
    • Etapa 3 — as três ferramentas essenciais
    • Tabela de equivalências

    Perguntas para reflexão

    1. O que A decisão de fundo resolve, e o que se perde sem isso?
    2. O que Etapa 1 — só o modal (uma a duas semanas) resolve, e o que se perde sem isso?
    3. O que Etapa 2 — Neovim mínimo (uma semana) resolve, e o que se perde sem isso?
    4. Qual parte desta página você conseguiria reproduzir sem consultar, direto no editor?

    Artigos relacionados

    Veja também

    Referências

    • :help vim-differences — o que difere do Vim clássico
    • :help nvim-from-vim