python - 如何使用 SimplyFold 在 vi​​m 中的折叠文本中维护语法突出显示?

标签 python vim syntax-highlighting folding vim-syntax-highlighting

我正在使用this用于折叠的 vim 插件非常好而且非常简单,但是我注意到的一个问题是标题最终都会丢失语法突出显示,因为它们作为折叠文本的一部分返回。

我想知道是否可以以某种方式在折叠文本中保持语法突出显示。

鉴于仅 defs classes 和文档字符串被折叠,它应该不会太困难,但我什至不知道从哪里开始。

似乎setfoldtext是相关命令,但不确定除此之外的更多内容。

这就是折叠当前的样子,显示折叠文本中缺少语法突出显示。

enter image description here

请告诉我如何做到这一点,谢谢

最佳答案

语法突出显示适用于实际的缓冲区内容。如果折叠行,语法突出显示将不再对这些行起作用,并且整个折叠摘要(由 'foldtext' 确定)将用 :help hl-Folded 突出显示。突出显示组。不幸的是,目前没有办法解决这个问题。

在 Vim 中实现这一点会带来一些棘手的问题:

  • 语法突出显示可以取决于前一行/后一行。您仍然会解析多少(闭合折叠中)?如果屏幕上有许多大的闭合折叠,这可能意味着大量的解析,比窗口内可见部分通常需要的解析量要多得多。
  • 您仍然需要指示这些线是否被折叠。由于语法突出显示可以使用与折叠突出显示组相同的可用属性和颜色集,因此没有关于如何组合两者的通用解决方案。 “覆盖”或“添加”颜色很困难,尤其是在只有 16 种可用颜色的终端中。

关于python - 如何使用 SimplyFold 在 vi​​m 中的折叠文本中维护语法突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679695/

相关文章:

syntax-highlighting - 持久:set syntax for a given filetype?

xml - Eclipse:非 XML 文件的 XML 语法着色

python - 用于文件上传的 Flask/Apache 提交按钮

python - 如何将melt/wide_to_long应用于具有多列的数据框?

python - Python 正则表达式中的上一组匹配

eclipse - 有哪些插件可用于在 Vim 或 Eclipse 中编辑 ASCII 图表?

python - Pandas 复制数据框只保留具有相同索引的行的最大值

linux - 意外 token 'newline' 附近的语法错误?

regex - 对齐: How to trim spaces from block selection to start of text?

eclipse - Eclipse Juno 的 JSP 编辑器