Vim - incrementando números em substituição

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

[ Hits: 121 ]

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

O que é correio eletrônico

GIT - Como recuperar um arquivo deletado no teu repositório

Comando ifconfig no Debian 10

Instagram Direct no Linux

Livro Running Linux de graça!

Leitura recomendada

Recarregar o .vimrc sem sair do Vim

Habilitando sintaxe no VIM para o logstash

Vim - implemente um "substituir tudo" no modo BOSS

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

Vim com Tema de Cores do Visual Studio Code

  

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