Selecione as linhas e pressione :
para entrar no modo de comando. O Vim irá preencher automaticamente '<,'>
, o que restringe o intervalo às linhas selecionadas. Para seu exemplo, você pode usar o :s
comando para fazer a troca:
:'<,'>s/\(\w\+\), \(\w\+\)/\2, \1/
Isso trocará duas palavras separadas por vírgula em cada linha na seleção visual.
Você também pode usar '<
e '>
como qualquer outro marcador ou posição de linha, por exemplo, como parte de um comando de movimento, portanto, no modo normal, d'<
o apagará da posição atual do cursor até o início da primeira linha na seleção visual. As marcas permanecem em vigor mesmo que o bloco não seja mais destacado visualmente.
Se você deseja reproduzir uma macro gravada em cada linha, você precisa executar a macro com o :normal
comando. Infelizmente, o :normal
comando não opera em um intervalo de linhas, mas você pode corrigir isso com o :global
comando. Isso executa um :ex
comando em cada linha que corresponde a um regex, então você pode fazer o seguinte:
:'<,'>g/^/ norm @a
Explicação:
:'<,'> for every line in the visual block
g/^/ on every line that matches the regex /^/ - i.e. every line
norm run in normal mode
@a the macro recorded in a