Vim - incrementando números em substituição

Publicado por Fábio Berbert de Paula em 12/11/2024

[ Hits: 313 ]

Blog: https://fabio.automatizando.dev

 


Vim - incrementando números em substituição



Vivendo e aprendendo! Uso Vim a aproximadamente 25 anos e hoje aprendi algo novo.

Vamos lá! Supondo que tenho uma lista numerada de centenas de itens e quero adicionar um novo item entre o item 93 e 94. Como fazer isso?

...
90. Banana
91. Maçã
92. Pêra
93. Uva
94. Abacaxi
95. Laranja
96. Morango
...

Então logo depois de "Uva" eu quero adicionar "Pêssego". A lista ficaria assim:

...
90. Banana
91. Maçã
92. Pêra
93. Uva
94. Pêssego
94. Abacaxi
95. Laranja
96. Morango
...

Porém eu não quero ter que renumerar todos os itens a partir do 94. Como fazer isso? A resposta é simples! Vamos utilizar um comando de substituição do Vim.

Entre no modo visual e selecione a partir do item 94 até o final da lista. Em seguinda digite o comando de substituição:

:'<,'>s/^\d\+/\=submatch(0)+1/

Onde:
  • '<,'> é a faixa de linhas selecionadas, o Vim irá adicionar automaticamente.
  • s é o comando de substituição.
  • ^\d\+ é a expressão regular que casa com o número no início da linha, ou seja, \d é um dígito e \+ é um ou mais.
  • \=submatch(0)+1 é a expressão que será substituída. submatch(0) é o número encontrado e +1 é a soma de 1.

Pronto! Todos os itens a partir do 94 foram renumerados automaticamente.

Outras dicas deste autor

Como fazer "quit" no SED

MellowPlayer - Ouça Spotify, Deezer, Google Play, Tune In dentre outros

Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa

Como desabilitar o protocolo SSL3 no Nginx

Otimizando conexões entre PHP e MySQL

Leitura recomendada

Compilando a última versão do Vim no Fedora 33

Vim - apagar linhas vazias

Resolvendo o problema de acentuação em Português no VIM

Habilitando sintaxe no VIM para o logstash

Navegação fácil no Vim - encontrar próximo e anterior

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts