Você pode pesquisar e substituir. Eu acabei de escrever isso. Funciona, mas você provavelmente poderia fazer melhor.
:%s/\v[ ]*([^\.]*\.)/\r/g
Ao quebrar frases, quero dizer que cada nova sentença deve começar com uma nova linha.
Como repetir )i<CR><Esc>
para o final do parágrafo }
? ( <CR>
= Enter )
Se eu fizer uma macro )i<CR><Esc>
como "q", posso executá-la até o final do parágrafo?
Você pode pesquisar e substituir. Eu acabei de escrever isso. Funciona, mas você provavelmente poderia fazer melhor.
:%s/\v[ ]*([^\.]*\.)/\r/g
vap:s/\. /.^M/g
vap
seleciona seu parágrafo atual :s/\. /.^M/g
substitui todos os períodos seguidos por um espaço com um período seguido por uma nova linha. (Observe que, para obter essa nova linha literal ( ^M
) na expressão de substituição, você terá que digitar <CTRL-V><CR>
.) Minha solução, inicie no modo normal e digite:
vip:'<,'>s/\n/ /|'<,'>s/\([.?!]\)\s/\r/g
Observe que o primeiro '<,' > será inserido automaticamente na linha de comando quando você pressionar a tecla ":" depois de digitar " vip
" no modo normal.
O primeiro substituto une o parágrafo em uma linha, depois o "|" caractere delimita um segundo comando: - dentro da mesma linha de comando, e desta vez o " '<,'>
" deve ser digitado manualmente. O segundo comando substituto substitui um período, ponto de interrogação ou ponto de exclamação seguido por um espaço com o símbolo correspondente e uma nova linha.
Isso não detecta casos em que uma frase termina com um período / excalmação / pergunta e um caractere de aspas etc., mas o padrão pode ser estendido para isso.