Переформатировать ширину текста vim - PullRequest
9 голосов
/ 11 января 2012

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

edit: Ну, я был почти ошибочным в том смысле, что он разрываетсястроки выше 79, за исключением строки со звездочками.

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

Кроме того, он по-прежнему перемещает символы вверх, когда в строке <79. </p>

Ответы [ 2 ]

9 голосов
/ 11 января 2012

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

Отмените определение 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.

1 голос
/ 11 января 2012

Поместите пустую строку между разными абзацами. Затем выполните переформатирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...