Разделить текстовые документы на страницы (в Vim?)

Мне интересно, существует ли способ разбить текстовые документы на страницы в формате, аналогичном документам RFC. Вот пример документа RFC, который разделяет страницы на 56 строк.

Я уже был в состоянии заставить строки разрываться на границах слов на определенной ширине линии, используя set formatoptions+=w а также set textwidth=72,

При этом, если не существует решения Vim, существуют ли какие-либо программы или утилиты командной строки, которые могли бы предложить аналогичную функциональность?

2 ответа

Решение

Существует инструмент под названием pr, который используется для форматирования файлов перед их печатью, с некоторыми изменениями конфигурации вы можете получить желаемый результат.

Редактировать: После небольшой возни я придумал эту команду, которая разделила мое readme на четыре страницы по 20 строк. Вы могли бы тогда, вероятно, найти и заменить, чтобы получить желаемый формат заголовка.

pr -F -l 20 README.md

Это можно сделать с помощью специальной команды. Вот эскиз:

command! -count=56 Paginate
\   let page = 1 |
\   <count> |
\   while line('.') < line('$') |
\       call append('.', ['-------', 'page ' . page, '=======']) |
\       let page += 1 |
\       .+<count>+3 |
\   endwhile
Другие вопросы по тегам