Изменить текст в сгибах - PullRequest
7 голосов
/ 12 мая 2011

Я заметил, что сгибы текстов могут показать полезную информацию.Они обычно показывают что-то вроде

+-- 5 lines: <div id="header-inner">--------------------------------------------

Возможно ли изменить текст в этих строках?Я заметил, что что-то возможно в foldexpr, но можно ли полностью перепроектировать складки?
например
+ <div id="header-inner"> : "possible comment from line above" : row 27 : length 5

спасибо

Ответы [ 2 ]

11 голосов
/ 13 мая 2011

Из вашего вопроса есть несколько вещей, которые я не понимаю, например, какой метод сгиба вы используете, или как называется число «строк», но вот пользовательская функция сгиба, которая должна делать примерно то, что вы хотите:

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()

Пояснение:

  1. Найдите количество строк, содержащихся в сгибе.
  2. Получить «комментарий» из строки перед первой загнутой строкой (и удалить начальные пробелы).
  3. Получить текст из первой строки сгиба (и убрать начальные пробелы).
  4. Соберите вышеприведенную информацию в возвращенный текст с соответствующим форматированием.

Надеюсь, это поможет. Он должен быть легко адаптирован к вашим потребностям.

1 голос
/ 14 марта 2017

Вы также можете проверить конфигурацию сворачивания со страницы Стиво Лоша с репозиторием битовых дисков о vim .

Она имеет очень красивый внешний вид, который также очень организован!

Toпосмотрите, на что это похоже, вы можете проверить это в этом youtuebe видео .

...