Задача — переформатировать текст по заданной ширине внутри vim либо внешней утилитой. Опишу оба метода.
Первый метод - внутренними стредствами. В режиме ввода команд : (нажать двоеточие) ввести: :set textwidth=30 :set tw=30 #краткая запись
Например пусть будет 30 символов в строке. Теперь необходимо применить изменения ко всему тексту. Для этого в командном режиме (основной режим vim) нажать: gggqG где: gg — перейти в начало буфера gq — переформатировать текст внутри выборки
G — перейти в конец буфера Собственно gg и G указывают диапазон применения gq
Кроме textwidth ещё есть wrapmargin, но он не всегда сразабывает.
Проблема с wrapmargin заключается в том, что он зависит от ширины
вашего терминала, тогда как textwidth работает одинаково для всех.
* * *
Второй метод — внешними утилитами fmt или fold. Необходимо их присутствие в системе. Плюс такого метода - можно использовать не только в vim, но и пакетно.
Для применения, в режиме ввода команд (: нажать двоеточие) ввести: или
И весь текст буфера vim будет сразу переформатирован внешней командой по ширине в соответствии с заданным числом.
|