Поскольку все остальные ответы пока показывают, как это сделать на разных языках программирования, и вы пометили вопрос с помощью Vim, вот как это сделать в Vim:
:%s/\.\(\s\+\|$\)/.\r\r/g
Я использовал две кареткивозвращается в соответствии с форматом вывода, который вы показали в вопросе.Существует несколько альтернативных форм регулярных выражений, которые вы можете использовать:
" Using a look-behind
:%s/\.\@<=\( \|$\)/\r\r/g
" Using 'very magic' to reduce the number of backslashes
:%s/\v\.( |$)/.\r\r/g
" Slightly different formation: this will also break if there
" are no spaces after the full-stop (period).
:%s/\.\s*$\?/.\r\r/g
и, возможно, многие другие.
Это можно сделать без регулярного выражения:
:let s = getline('.')
:let lineparts = split(s, '\.\@<=\s*')
:call append('.', lineparts)
:delete
См .:
:help pattern.txt
:help change.txt
:help \@<=
:help :substitute
:help getline()
:help append()
:help split()
:help :d