vim - 有没有办法调整vim中折叠线的格式?

标签 vim folding

现在我的折叠线看起来像这样:

+-- 123 lines: doSomeStuff();--------------------------
+-- 345 lines: doSomeOtherStuff();---------------------

我想删除一行实际内容之前的所有内容(+-- xxx 行:),使其更像 Notepad++/Eclipse 视觉方式——现在它太难阅读了,我实际上不在乎如何我在某个折叠下有很多行:) 那么有什么命令可以调整折叠线的格式吗?

最佳答案

是的,罗马已经提到的 foldtext 函数返回一个要在闭合折叠中显示的字符串(换句话说,就是你所看到的)。

您可以修改折叠功能以显示您感兴趣的任何内容。例如,

function! MyFoldText() " {{{
    let line = getline(v:foldstart)

    let nucolwidth = &fdc + &number * &numberwidth
    let windowwidth = winwidth(0) - nucolwidth - 3
    let foldedlinecount = v:foldend - v:foldstart

    " expand tabs into spaces
    let onetab = strpart('          ', 0, &tabstop)
    let line = substitute(line, '\t', onetab, 'g')

    let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount))
    let fillcharcount = windowwidth - len(line) - len(foldedlinecount)
    return line . '…' . repeat(" ",fillcharcount) . foldedlinecount . '…' . ' '
endfunction " }}}
set foldtext=MyFoldText()

会返回类似的东西

" Basic settings --------------------------------------------- {{{...              6 ...

表示6行在折叠中(包括带有关闭折叠标记的那一行)

关于vim - 有没有办法调整vim中折叠线的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12652172/

相关文章:

vim - 如何用vim自动折叠一个文件中的所有函数?

vim - 同时进行两种折页方法

包含 `r` 的 Vim 命令导致我替换

eclipse - Eclipse 中的 vim 命令

vim - Vim忘记了被选中的文本。每时每刻

vim - 为什么 vim 粘贴的行为取决于 yanking 方法

vim - 创建新折叠时阻止 Vim 打开所有后续关闭的折叠

api - 如何将文本折叠和折叠代码块数据保存到 .sublime-workspace?

vim - 如何激活vim折叠标记?

Vim:插入或追加缩进