Vim: Пользовательская функция Сворачивания сделанное, пользовательское выделение требуется

Я определил функцию в энергии для надлежащего расположения с отступом сгибов. Т.е. таким образом, они похожи на это:

Развернутый

this is text 
also text
    indented text
    indented text
not indented text

свернутый с функцией по умолчанию

this is text 
also text
+-- 2 lines: indented text ----------------------------
not indented text

свернутый с моей новой функцией

this is text 
also text
    ++- 2 lines: indented text ----------------------------
not indented text

Единственная проблема, выделение все еще похоже на это:

свернутый с моей новой функцией (выделение, показанное с тегом)

this is text 
also text
<hi>    ++- 2 lines: indented text ----------------------------</hi>
not indented text

Я хотел бы, чтобы выделение запустилось в ++ а не в начале строки. Я посмотрел в руководстве энергии, но не мог найти ничего как этот. Один так себе решение, которое я нашел, состояло в том, чтобы сделать фон черным.

highlight Folded ctermbg=black ctermfg=white cterm=bold

Но это делает сгибы менее видимыми.

Я попробовал несколько изменений:

syn keyword Folded lines
syn region Folded ...

Но я не думаю, что это - способ, которым выбраны сгибы. Кто-либо может предложить предложение?

По тому, как это - моя функция для расположения с отступом сгибов:

set foldmethod=indent

function! MyFoldText()
        let lines = 1 + v:foldend - v:foldstart
        let ind = indent(v:foldstart)

        let spaces = ''
        let i = 0
        while i < ind
                let i = i+1
                let spaces = spaces . ' '
        endwhile

        let linestxt = 'lines'
        if lines == 1
                linestxt = 'line'
        endif

        return spaces . '+' . v:folddashes . ' '. lines . ' ' . linestxt . ': ' . getline(v:foldstaendfunction
endfunction


au BufWinEnter,BufRead,BufNewFile * set foldtext=MyFoldText()

Между прочим благодаря njd для помощи мне получить эти функциональные настройки.

0
задан 20.03.2017, 12:17

1 ответ

1
ответ дан 24.11.2019, 12:36

Теги

Похожие вопросы