Eu tenho um arquivo de texto que se parece com isso:
A.
text
text
text
A.
more text
more text
A.
more text
Eu quero juntar todas as linhas entre os "marcadores" A.
para que se pareça com:
A.texttexttext
A.more textmore text
A.more text
Como posso fazer isso no Vim?
:help \@!
no Vim para mais informações sobre essa parte. Caso contrário, é direto, espero, com a minha explicação. Um problema com sua abordagem é que se "A.
"ocorre no texto, embora não como uma linha de marcador isolada, ele será dividido como se fosse originalmente um marcador. Na prática, pode não ser um problema (não sei como é o seu arquivo" real ") , mas genericamente pode causar um comportamento indesejado, se alguém não está ciente disso.:%s///
Sintaxe: é uma sintaxe de "pesquisa e substituição" no Vim.:
inicia o comando%
especifica o buffer inteiro como o intervalo,s
inicia uma substituição./
é o delimitador de padrão (qualquer outro caractere pode ser usado, mas/
é "padrão"). O primeiro/
inicia o padrão de pesquisa, o segundo o padrão de substituição e o terceiro termina. Modificadores à direita estão disponíveis para especificar a insensibilidade a maiúsculas e minúsculas, etc.\1
representa o grupo capturado no padrão de pesquisa.:%s/foo/bar/
substituifoo
combar
no arquivo.:%s/^A\.//
. O método na resposta não captura o^A\.
padrões próprios (e não a sua ausência), por isso não pode modificar essas cadeias de uma forma óbvia.Isso também funciona (quando a primeira linha começa com
A.
)fonte