Soluções VIM
Existem duas soluções: uma é automatizar a tecla Ctrl a através de uma seleção, a segunda é através da execução de uma substituição de padrão com submatch(0)+1
sobre a seleção. Primeiro a automação chave.
Comece criando sua lista:
1. foo
2. bar 100%
3. kittens
4. eat cake
5. unicorns
6. rainbows
Inserir uma entrada
1. foo
2. bar 100%
3. kittens
4. eat cake
4. sunshine
5. unicorns
6. rainbows
Posicione seu cursor em 4. sunshine
e no modo de comando pressione shift + v , então shift + g . Esta é a seleção visual até o final do arquivo. Você também pode mover o cursor para o final de um bloco da maneira usual.
Pressione :
para entrar no modo de comando, e você verá isto: :'<,'>
. Agora digite o seguinte:
norm
Ctrl + V Ctrl + A
O que o Ctrl-v e ctrl-A fazem é permitir que você insira a chave "exata", então ele será alterado para ^A
, realçado. Isso basicamente significa for all lines selected, execute in normal mode keypress Ctrl-A
e Ctrl-A, por padrão, incrementa o número sob o cursor. Você verá os números mudarem
Solução em ação:
Antes
Depois
Outra forma seria selecionar tudo desde o primeiro número repetido como antes ( Shift v , então G ), e entrar no comando modo de execução:
:'<,'>s/\v(^\d+)\./\=(submatch(0)+1).'.'/