Вопрос

Я хочу переформатировать свой файл, чтобы ширина максимальной линии 79. Я сделал :set tw=79 а также gggqG И результаты не были тем, что я ожидал. Когда линия составляет менее 79 Col, символы из линии под ней перемещаются вверх, а линии с более чем 79 COL не разбиваются на две линии.

РЕДАКТИРОВАТЬ: Ну, я был полуфинаком в том смысле, что он разрывает линии более 79, за исключением линии со звездочками.

--CONVENTIONS**************************************************************************************

Кроме того, он все еще перемещает символы, когда линия имеет <79.

Это было полезно?

Решение

Одно возможное решение, хотя и не самое лучшее.

Неопределен formatexpr и пусть внешняя fold Программа для форматирования вашего текста по ширине 79 символов.

:set formatexpr=
:set formatprg=fold\ -w\ 79

И сейчас:

gg              # Go to beginning of file.
gq              # Format until...
G               # End of file.

И последнее, удалите эти возвраты перевозки (^M):

:%s/\r//g

В моем тесте это изменило некоторые акцентированные персонажи, и некоторые другие строки были искажены, но попробуйте самостоятельно. Иначе вы можете написать свою собственную функцию формата и использовать ее с formatexpr вариант.

Другие советы

Поместите пустую линию между разными абзацами. Тогда сделайте переформат.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top