Respostas:
Eu faço o seguinte para acrescentar texto a várias linhas:
<c-V> - Entre no modo Visual Block.j/ kpara selecionar as linhas.$ - Mova o cursor para o último caractere.A - Entre no modo de inserção após o último caractere.<Esc> - Saia do modo de inserção e finalize o bloco anexado.Quando comparado a escrever :normapós a seleção, há ainda menos pressionamentos de tecla, mas a verdadeira razão pela qual eu uso isso é porque é mais instintivo trabalhar no modo Visual Block para esse tipo de alteração.
Na primeira linha, digite:
4:norm A.
4e :crie um intervalo para você e norm A.adicione o ponto a cada linha
Outra solução para parágrafos mais longos pode ser:
Vip<C-v>$A.<Esc>
O primeiro passo é selecionar o parágrafo e Vipdepois mudar para o modo de bloco visual e mover o cursor para o final de cada linha $e adicionar o item .a cada linha A.e entrar no modo normal <Esc>para que a alteração seja aplicada a cada linha .
:Acomando? Eu não encontrei via #:h :A
4:norm A.seria4:s/$/.
Primeiro, você pode selecioná-los visualmente usando Ve depois usar as teclas de movimento para selecionar o texto inteiro (ou se o texto fosse estritamente um parágrafo, você poderia fazer [a partir da primeira linha] V}). E então digite :. Isso deve trazer algo como :'<,'>na linha de comando.
:'<'>normal A.
Isso é executado normal A.nas linhas selecionadas. normal A.executa A.como pressionamentos de tecla no modo normal. Isso Acoloca a .no final de cada uma das linhas selecionadas.
Se você deseja adicionar um ponto no final de todas as linhas:
:%norm A.
ou você pode usar a pesquisa e substituir:
:%s/$/./
% é o arquivo inteiro, $ é o fim da linha
:1,4s/$/./ que substitui o último caractere por um ponto nas linhas de um a quatro, inclusive.
Para torná-lo um pouco mais geral, você pode gravar uma macro em uma única linha e reproduzi-la em cada linha do seu intervalo visualmente selecionado.
Grave uma macro em um registro (o registro q neste exemplo):
qqA.<Esc>q
Você pode selecionar visualmente as linhas nas quais deseja operar:
Vip
E, em seguida, reproduza sua macro em cada linha (o intervalo será preenchido automaticamente):
:'<,'>norm @q