Vim - implemente um "substituir tudo" no modo BOSS

Publicado por Fábio Berbert de Paula em 30/07/2020

[ Hits: 304 ]

Blog: https://youtube.com/c/cotidianohackeado

 


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:
:wq!

Outras dicas deste autor

Adaptador de rede USB WiFi TP-LINK no Debian

Como descobrir a velocidade de sua placa de rede via linha de comando

Otimizando conexões entre PHP e MySQL

Configurando o Exim como MX secundário

Utilizando o pastebin pelo terminal Linux

Leitura recomendada

Indentação automática no Vim

VIM - Personalizando barra de status

Acessibilidade no VIM

Emulador de terminal no Vim

Vim - selecionar tudo e copiar fácil

  

Comentários
[1] Comentário enviado por mauricio123 em 30/07/2020 - 08:03h


Muito legal. Vou implementar.

___________________________________
Conhecimento não se Leva para o Túmulo.

[2] Comentário enviado por mauricio123 em 30/07/2020 - 21:16h


Tenho que ver meu vim que não vai quase nada. Vou ter que compilar?

___________________________________
Conhecimento não se Leva para o Túmulo.

[3] Comentário enviado por fabio em 30/07/2020 - 21:25h


Tenho que ver meu vim que não vai quase nada. Vou ter que compilar?


Não, jogou no .vimrc já está funcionando. Os recursos dessa dica não requerem versões 8.1+ do Vim.

[4] Comentário enviado por mauricio123 em 02/08/2020 - 18:00h


Segui a dica do vídeo e ficou bem completo. Tudo funcional.

___________________________________
Conhecimento não se Leva para o Túmulo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts