Vim - implemente um "substituir tudo" no modo BOSS
Nesta dica você vai ganhar mais um motivo para se convencer de que o Vim é o melhor editor da galáxia... vamos criar uma função que executará um "substituir tudo" de modo personalizado, fácil demais.
Para você entender a lógica, para localizar e substituir todas as ocorrências de uma palavra no Vim você digita o seguinte comando:
:%s/palavra/nova-palavra/g
Mas quero facilitar sua vida... quero fazer com que ao teclar "Ctrl + r" o Vim substitua todas as ocorrências da palavra sob o cursor por alguma coisa de sua escolha.
Abra o seu .vimrc e adicione as seguintes linhas:
function ReplaceAll()
let a = expand("<cword>")
let b = input('Substituir "' . a . '" por: ')
if !empty(b)
execute '%s/' . a . '/' . b . '/g'
execute '%s/' . b . '//ng'
endif
endfunction
nnoremap <c-r> :call ReplaceAll()<cr>
Agora basta abrir um arquivo qualquer, posicionar o cursor sobre a palavra desejada e teclar: Ctrl + r
O Vim irá solicitar que digite a substituição e voilà! Todas as ocorrências substituídas, com o número total exibido na barra de status do editor.
No vídeo abaixo explico o código acima e implemento algumas funcionalidades adicionais, como substituir somente na linha corrente, no documento inteiro ou informando a palavra ou expressão desejada: