Александър Иванов
cream в режим „expert“
б) Списък от изреченията в текста
Няма да обсъждам какво е изречение (пази, боже!), а ще приема, че изречението завършва с точка (.), с удивителeн (!) или с въпросителен знак (?). Но ще добавя още едно условие — нека след всеки от тези знакове за край на изречението да има шпация. Това допълнително условие ще ни избави от случаи като myfile.txt или многоточието (…), което би се разбивало на три части без него.
Така правим следната замяна:
:%s:\([.?!]\) :\1\r:g
Това е още една причина да препоръчвам в добре редактирания текст графичните съкращения (като „т. н.“ или „г.“) да бъдат разгърнати.
Защо не включвам табулатора и символа за край на реда, мисля, е очевидно — в добре редактирания текст няма табулатори, а ако след знака за край на „изречение“ има знак за край на реда, трябва вече да има и нов ред.
И накрая едно предупреждение: Заместването, предложено тук, няма да отдели изречения, които — в скоби или кавички — са вмъкнати в други изречения. Потърсете отварящи скоби и кавички и обхождайте изреченията с командите ) и ( — 4. Придвижване на курсора из текста. Ама такъв случай може дори да няма във вашия текст.