Я пишу функцию Vimscript, в которой мне нужно найти номер строки первой строки текущего сгиба. До сих пор я использовал это:
function! GetFoldStart()
let l:current_line=line('.')
normal [z
let l:current_fold_start=line('.')
execute 'normal ' . l:current_line . 'g'
endfunction
Который работает нормально, но кажется излишне дорогим. Есть ли более дешевый способ добиться этого? В основном мне нужно позаимствовать функциональность команды [z , фактически не переходя к строке.
Я надеялся, что переменная v: foldstart придет мне на помощь, но, похоже, она работает правильно только для закрытых складок (для использования в foldtext).
Заранее благодарим за мудрость Вим!
Джонатан.