vim折叠文本,前面有空格
我正在尝试定制vim折叠样式,并坚持使用缩进。我知道这里已经多次询问过它,我使用这个命令(似乎对其他人有用)来测试折叠的外观:vim折叠文本,前面有空格,vim,folding,Vim,Folding,我正在尝试定制vim折叠样式,并坚持使用缩进。我知道这里已经多次询问过它,我使用这个命令(似乎对其他人有用)来测试折叠的外观: :set foldtext=' '.foldtext() 然而,这给了我“未知选项”错误。显然,它不接受只包含空格的字符串,因为 :set foldtext='mytext'.foldtext() 效果很好,可以在折叠的开头添加“mytext” 它为什么不起作用,怎么解决呢?你只需要逃离这个空间。用这个代替 :set foldtext='\ '.foldtext()
:set foldtext=' '.foldtext()
然而,这给了我“未知选项”错误。显然,它不接受只包含空格的字符串,因为
:set foldtext='mytext'.foldtext()
效果很好,可以在折叠的开头添加“mytext”
它为什么不起作用,怎么解决呢?你只需要逃离这个空间。用这个代替
:set foldtext='\ '.foldtext()
空格导致vim认为您需要将foldtext设置为,
,然后设置为。。foldtext()是下一个要设置的参数。但是,这不是您想要的,错误消息的原因是
E518: Unknown option: '.foldtext()
转义空格告诉vim,foldtext='\'.foldtext()
是一个参数,而不是两个。如果您喜欢对齐的foldtext,可以使用插件。帮助中的示例:
如果您不喜欢默认的“foldtext”,可以通过设置为来自定义它
EightHeaderFolds()
例如,默认情况下,闭合的折叠如下所示:
```+-- 45 lines: Fold level one
+--- 67 lines: Fold level two
如果要将其更改为这种类型:
Fold level one................45 lines
Fold level two..............67 lines
。。。然后您可以使用此功能:
let &foldtext = "EightHeaderFolds( '\\=s:fullwidth-2', 'left', [ repeat( ' ', v:foldlevel - 1 ), '.', '' ], '\\= s:foldlines . \" lines\"', '' )"
啊哈,谢谢!奇怪的是,我在网上找到了约10个不同的版本,它们对我不起作用,但对其他人起作用。。。