segunda-feira, 23 de fevereiro de 2009

Transformando um parágrafo em linha no vim

Se quiser exportar texto para o MS-Word, cada parágrafo deveria ser uma linha.
Se os parágrafos são separados por uma linha vazia use:
:g/./,/^$/join

Explicação:
:g/./ - um comando global, que marca todas linhas que contém ao menos um caracter qualquer.
,/^$/ - um intervalo, começando da linha corrente (a linha não-vazia) e vai até uma linha vazia.
join - um comando join, que junta o intervalo de linhas em uma única linha.

Use o comando 'gq' para formatar o texto.

Se houver parágrafos separados por linhas em branco porém não-vazias (espaços e tabs) use este comando ao invés:
:g/\S/,/^\s*$/join
gg
gqG

:g/\S/ - marca todas linhas com um caracter não-branco
,/^\s*$/- no intervalo da linha corrente (não-branco) até uma linha com o padrão 'início-um ou mais brancos-fim'
join - faz join das linhas do intervalo.

0 comentários:

Postar um comentário