Vim - incrementando números em substituição

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

[ Hits: 120 ]

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

Configurando seu SSH para autenticação automática

Chromium e Firefox - Forma prática de abrir links em nova aba

Vantagens de usar o Vim ao invés do VSCode

Como fazer a cópia (clonar) de um HD para outro

Utilizando Fontes TrueType no Linux

Leitura recomendada

Vim - como criar arquivo ou diretório pelo NERDTree

Habilitar highlight na busca do Vim

Indentação automática no Vim

Como forçar o tipo de arquivo no Vim

Vantagens de usar o Vim ao invés do VSCode

  

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