Вы создаете текстовый файл без каких-либо встроенных разрывов строк, поэтому каждый абзац представляет собой одну «строку», хотя при наличии переноса строки и переноса выглядит, что они представляют собой несколько строк). Вот почему печать ломается в фиксированных местах. (В соответствии с http://www.vim.org/htmldoc/various.html#printing не похоже, что во время печати у вас может возникнуть разрыв строки / переноса).
Чтобы избежать этого, если вы хотите, чтобы текст был перенесен во время редактирования, выполните
set textwidth=70
, чтобы обернуть в 70-й колонке. Если вы хотите, чтобы ваш файл имел длинные строки (например, чтобы он хорошо форматировался при загрузке в MS Word или что-то в этом роде), вам придется предварительно обработать текстовую версию перед печатью. Так, например, вы можете попробовать:
fmt file.txt | lpr
или, если у вас установлен enscript, вы можете попробовать:
enscript --word-wrap file.txt
для печати. Существующий файл можно обернуть, запустив vim:
gggqG
то есть «gg» для перехода к началу файла и «gqG» для переформатирования «gq» из текущей позиции (т.е. первой строки) в последнюю строку (путем перехода к «G»). 'gq' будет учитывать ваши текущие настройки текстовой ширины.