Vim “如何消除文字”;[n] “折线”;

Vim “如何消除文字”;[n] “折线”;,vim,Vim,我希望折叠行只显示“-”字符:完全没有文本 我已尝试根据此处和帮助中的示例定义foldtext:。我能够消除第一行内容,这是非常恼人的,完全不合逻辑的思考,但它仍然显示 ---"3 lines folded"------- 比如说 (对我来说,它在视觉上会分散注意力,而且与我无关……这在一定程度上破坏了折叠的目的,即隐藏折叠的部分,而不是突出显示它,这就是此冗余消息的作用。)您可以在.vimrc中使用以下设置: set foldtext=EmptyFoldText() function! Em

我希望折叠行只显示“-”字符:完全没有文本

我已尝试根据此处和帮助中的示例定义foldtext:。我能够消除第一行内容,这是非常恼人的,完全不合逻辑的思考,但它仍然显示

---"3 lines folded"-------
比如说


(对我来说,它在视觉上会分散注意力,而且与我无关……这在一定程度上破坏了折叠的目的,即隐藏折叠的部分,而不是突出显示它,这就是此冗余消息的作用。)

您可以在.vimrc中使用以下设置:

set foldtext=EmptyFoldText()
function! EmptyFoldText()
return '-'
endfunction

在我的vim上运行良好。

您不要说您尝试的不起作用的内容,而是

:set foldtext='---'
我看到折叠处有一行破折号(全宽)。如果你想要更少的分心,试试看

:set fillchars+=fold:\   foldtext='\ '

(第一个反斜杠后有两个空格。)

非常感谢。我把这个和benjifisher的回答结合起来。顺便问一下,创建和调用函数的原因是什么,而不仅仅是执行set foldtext=“-”?在这种情况下,没有理由创建函数。如果你想打印一些特别的东西,函数会很有用。