我正在使用vim的隐藏功能以更易读的形式显示我的乳胶文件.
此外,我正在使用vim-latex插件,它为数学环境创建折叠,然后显示标签和环境内容的开头.
示例:普通乳胶代码中的数学环境如下所示:
\begin{align}
\xi = \cos \alpha
\label{eqn:test}
\end{align}
Run Code Online (Sandbox Code Playgroud)
使用vim的隐藏功能,它显示为
\begin{align}
? = \cos ?
\label{eqn:test}
\end{align}
Run Code Online (Sandbox Code Playgroud)
当vim现在创建折叠时,它显示为
+-- 4 lines: align (eqn:test): \xi = \cos \alpha
Run Code Online (Sandbox Code Playgroud)
我现在的问题是:是否可以让vim将隐藏应用于折叠的描述,以便它看起来像下面?
+-- 4 lines: align (eqn:test): ? = \cos ?
Run Code Online (Sandbox Code Playgroud)
一般来说,折叠文本和隐藏可以结合起来。但这需要您自己实现,遵循隐藏逻辑。
该选项foldtext定义折叠关闭时要显示的文本。选项的值可以是 vim 函数或表达式。所以我们可以对原文做很多修改。
隐藏。通常是这样的:当X模式匹配时,显示Y而不是X。所以我们可以编写一个函数,读取foldstart行,检查隐藏语法模式,如果该行匹配任何,如果True,则删除那些匹配的部分,并显示查尔。我们将此函数设置为选项值foldtext。当然仅适用于某些文件类型。
为了突出显示,这两组可用于折叠文本。
Folded line used for closed folds
FoldColumn 'foldcolumn'
Run Code Online (Sandbox Code Playgroud)
这是我能想到的。如果有人可以有更好/更简单的方法来做到这一点,我很高兴学习。例如,一些我不知道的内置函数可以在这种情况下提供帮助。