Atualmente, tenho dois métodos semelhantes para substituir o buffer inteiro por outro texto (digamos na área de transferência).
Método 1:
excluir todas as linhas:
:%d
.colar texto: "+P(ou similar
:put+
:).
Método # 2:
seleccionar visualmente todas as linhas: ggVG.
colar texto: "+P.
No entanto, eu não conseguia encontrar uma maneira de fazer um único comando para fazer isso. O mais próximo que encontrei é o :change
comando. Mas isso não parece funcionar bem com registros. Claro que posso criar alguma função e / ou mapear uma chave para fazer isso. Mas antes que eu pudesse fazer todas essas personalizações, quero ter certeza:
Existe algum comando interno para substituir um intervalo de linhas por outro texto? Como, você poderia
:%replace+
substituir o buffer inteiro pelo texto na área de transferência?
1,$s/\_./\=@+
não é uma solução: P, :%d|put+
está mais perto, mas não chega.
1,$s/\_.*/\=@+
, onde \_.
corresponde a qualquer caractere, incluindo nova linha.
:%d|put+
se encaixa na conta. É curto e memorável. O outro comando é muito misterioso para lembrar e digitar corretamente.