Executando verificação de segurança...
1

Como buscar e substituir palavras em vários arquivos no NeoVim

Pois é, como muitas outras coisas, até o o famoso CTRL + SHIFT + F, precisa ser configurado para funcionar no NeoVim. O motivo é que não existe apenas uma forma de fazer isso, pode-se usar plugins, ferramentas de terminal e ou o conjunto de funções nativas que o editor provê. Esse é um assunto que costuma gerar dúvida, mas eu encontrei uma solução que me pareceu simples e eu decidi compartilhar.

Configuração 🎛️

Para configurar, será necessário apenas criar doisremaps bem simples, para usar o vimgrep e podermos editar o termo pesquisado. Assim, não vamos precisar de nenhuma instalação para usar esse método. Esses remaps são apenas para abrir o modo de comandos com os comandos escritos, facilitando o uso (quando eu uso um remap como esse para acessar o modo de comandos, ele não aparece imediatamente, apenas quando eu começo a digitar).

Usando linguagem lua 🌔

-- Replace across files
vim.api.nvim_set_keymap('n', '<Leader>ro', ":vimgrep /search_term/gj **/*", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<Leader>rp', ":cfdo %s/foo/bar/gc | update, { noremap = true, silent = true })

Usando VimScript

""" Replace across files
nmap <Leader>ro :vimgrep /search_term/gj **/*
nmap <Leader>rp :cfdo %s/foo/bar/gc | update

Modo de uso 🚀

O primeiro remap (<Leader>ro) serve para procurar pelo termo, basta trocar search_term pela palavra que você quer substituir. Trocando o match '**/*', você especifica o diretório e o tipo de arquivo que quer pesquisar. Já o segundo remap serve para efetivamente fazer a substituição. Os termos foo e bar são respectivamente o termo antigo e o novo termo. Basta digitar e apertar ENTER.

substituindo strings em vários arquivos no neovim