Александър Иванов
cream в режим „expert“
Вмъкване на празни редове
Първи вариант:
:%s:\n:\r\r:
Заместваме един символ за край на реда с два. Особеност тук е, че в полето за заместване не можем да използваме \n (LF), а трябва да използваме \r (CR) — нека това не ви притеснява, редакторът „знае“ какво да сложи като край на реда в зависимост от това, в каква операционна система работите. Някъде в документацията се обясняваше, че това е направено за съвместимост с по-стари версии на vi.
Запомнете! Символът за край на реда се търси с \n, но се въвежда с \r.
Втори вариант:
:%s:$:\r:
Просто вмъкваме в позицията „край на реда“ един знак за край на ред. Обърнете внимание, че символът (котвата) $ означава само позиция, в която да извършим вмъкването, а не конкретния символ за край на реда. Затова е възможно да вмъкнем редове и преди текстовите редове посредством котвата за начало на реда:
:%s:^:\r:
Може да използвате и по-гъвкаво областта на действие (range) на командата:
:1,$-s:$:\r:
Този вариант на командата няма да вмъкне празен ред след последния текстов ред (вижте и разясненията в Търсене и заместване в режим „експерт“).
А с командата global можем да извършим вмъкване на празен ред само след или пред някои редове, отговарящи на известно условие, например само след редове, започващи със * (звездичка):
:g/^\*/ s/$/\r/
Звездичката, разбира се, трябва да се екранира в шаблона за търсене (иначе тя е множител), а командата е ясна — това е substitute, приложена само към реда, отговарящ на условието.