Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法调整vim中折叠线的格式?_Vim_Folding - Fatal编程技术网

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

有没有办法调整vim中折叠线的格式?,vim,folding,Vim,Folding,现在,我的折叠线如下所示: +-- 123 lines: doSomeStuff();-------------------------- +-- 345 lines: doSomeOtherStuff();--------------------- 我想删除一行(+--xxx行:)的实际内容之前的所有内容,使其更像记事本++/Eclipse视觉方式-现在它太难阅读,实际上,我并不关心在某个折叠下有多少行:)那么有没有任何命令可以用来调整折叠行的格式呢?:help fold foldtext包

现在,我的折叠线如下所示:

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

我想删除一行(+--xxx行:)的实际内容之前的所有内容,使其更像记事本++/Eclipse视觉方式-现在它太难阅读,实际上,我并不关心在某个折叠下有多少行:)那么有没有任何命令可以用来调整折叠行的格式呢?

:help fold foldtext
包含了您需要的所有信息。

是的,
foldtext
函数Romaill已经提到过,该函数返回一个字符串以闭合折叠方式显示(换句话说,就是你所看到的)

您可以修改fold函数以显示您感兴趣的内容。例如

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行(包括带有闭合折叠标记的一行)