Как отцентрировать простой неформатированный текст?
Предположим, есть простейший текст и «экран» с 40 колонками (установлено через tw):
ЗАГОЛОВОК
---------------------------------------
Как в Vim сделать так, чтобы текст «ЗАГОЛОВОК» встал посередине? То есть, как-то так:
ЗАГОЛОВОК
---------------------------------------
Понятное дело, что есть ответ «посчитать самому и отбить ручками», но вдруг есть готовое решение «из коробки»?
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Спасибо участнику @stanislav-volodarskiy за более краткий ответ: команда center.
Предыдущий ответ:
Спасибо участнику @aleksandr-barakin за «пинок» в правильном направлении. На основе его ответа написал следующую функцию на VimScript:
function! CenterText()
let l:header = substitute(getline('.'), '[[:space:]]\+', '', '')
let l:l = (&tw - strdisplaywidth(l:header)) / 2
let l:headerline = repeat(' ', l:l) . l:header
call setline('.', l:headerline)
endfunction