ponto comando no Vim, última alteração?

1

O comando dot no Vim repete a "última alteração", mas não sei exatamente o que constitui a "última alteração". Por exemplo, se eu digitar a sequência:

A;{ESC}j.

Em seguida, um ponto e vírgula é anexado à linha atual, mas eu tenho que digitar "j" novamente.

Em outras palavras, a macro de pontos só faz "A; {ESC}", então aparentemente o ESC está definindo o fim da "última mudança". Por que não inclui o "j" também?

    
por Tyler Durden 07.07.2014 / 22:42

1 resposta

4

Uma mudança é qualquer comando que modifique o texto no buffer atual. Você encontrará todos os comandos listados em :help change.txt . No modo de inserção, uma alteração é limitada a uma sequência de caracteres inseridos continuamente, ou seja, se você usar as teclas do cursor para navegar (o que não deveria), somente a última parte digitada será repetida.

Comandos como j são movimentos ; Ou seja, eles não afetam o texto e apenas movem o cursor. Aqueles não são repetidos . Se você quiser repetir várias alterações, ou uma combinação de movimentos e alterações, registre as etapas em uma macro (por exemplo, qaA;<Esc>jq ) e repita isso ( @a ).

    
por 08.07.2014 / 14:18