Из вашего вопроса есть несколько вещей, которые я не понимаю, например, какой метод сгиба вы используете, или как называется число «строк», но вот пользовательская функция сгиба, которая должна делать примерно то, что вы хотите:
function! MyFoldText()
let nl = v:foldend - v:foldstart + 1
let comment = substitute(getline(v:foldstart),"^ *","",1)
let linetext = substitute(getline(v:foldstart+1),"^ *","",1)
let txt = '+ ' . linetext . ' : "' . comment . '" : length ' . nl
return txt
endfunction
set foldtext=MyFoldText()
Пояснение:
- Найдите количество строк, содержащихся в сгибе.
- Получить «комментарий» из строки перед первой загнутой строкой (и удалить начальные пробелы).
- Получить текст из первой строки сгиба (и убрать начальные пробелы).
- Соберите вышеприведенную информацию в возвращенный текст с соответствующим форматированием.
Надеюсь, это поможет. Он должен быть легко адаптирован к вашим потребностям.