:g
recebe um comando após seu padrão. :m
é o comando e leva um intervalo antes dele. .
é o começo desse intervalo.
Acabei de encontrar este exemplo em Aprendendo os Editores vi e Vim :
.Rh 0 "Get status of named file" "STAT"
.Rh "SYNTAX"
...
.Rh "DESCRIPTION"
...
.Rh "PARAMETERS"
...
O comando para mover a DESCRIÇÃO acima do parágrafo SINTAXE é dado por
:g /SYNTAX/.,/DESCRIPTION/-1 move /PARAMETERS/-1
A explicação dada é: Primeiro, ex
localiza e marca cada linha que corresponde ao primeiro padrão. Em segundo lugar, para cada linha marcada, define .
(ponto, a linha atual) para essa linha e executa o comando.
Mas por que precisamos do ponto após /SYNTAX/
? É uma sintaxe especial para o comando g
?