Digamos que eu tenha um bloco de texto ...
Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet
... e eu queria inserir um .
no final de cada linha. Qual seria a melhor abordagem para conseguir isso?
insert-mode
visual-block
vim.ryan
fonte
fonte
Na primeira linha, digite:
4:norm A.
4
e:
crie um intervalo para você enorm A.
adicione o ponto a cada linhaOutra solução para parágrafos mais longos pode ser:
Vip<C-v>$A.<Esc>
O primeiro passo é selecionar o parágrafo e
Vip
depois mudar para o modo de bloco visual e mover o cursor para o final de cada linha$
e adicionar o item.
a cada linhaA.
e entrar no modo normal<Esc>
para que a alteração seja aplicada a cada linha .fonte
:A
comando? Eu não encontrei via #:h :A
4:norm A.
seria4:s/$/.
Primeiro, você pode selecioná-los visualmente usando
V
e 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.Isso é executado
normal A.
nas linhas selecionadas.normal A.
executaA.
como pressionamentos de tecla no modo normal. IssoA
coloca a.
no final de cada uma das linhas selecionadas.fonte
Se você deseja adicionar um ponto no final de todas as linhas:
ou você pode usar a pesquisa e substituir:
% é o arquivo inteiro, $ é o fim da linha
fonte
: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):
Você pode selecionar visualmente as linhas nas quais deseja operar:
E, em seguida, reproduza sua macro em cada linha (o intervalo será preenchido automaticamente):
fonte