使用gq命令在Vim中自定义LaTeX(beamer)帧的格式

Jer*_*lim 9 vim latex code-formatting beamer

我希望能够使用gqVim中的组合键来格式化Beamer LaTeX幻灯片中的文本.

例如,我想gqap改变这个:

\begin{frame}{Some title}
\begin{itemize}\item first point
\item second point
\item etc. point \end{itemize} \end{frame}
Run Code Online (Sandbox Code Playgroud)

进入这个:

\begin{frame}{Some title}
  \begin{itemize}
    \item first point
    \item second point
    \item etc. point  
   \end{itemize} 
\end{frame}
Run Code Online (Sandbox Code Playgroud)

具体来说,我想遵守以下规则:

  • \item 总是从一条新线开始
  • \begin\end始终开始新的一条线
  • \begin{frame}\end{frame}始终从第1列开始
  • 环境中的环境缩进了2个空格
  • \item 在其环境中缩进2个空格

因此,我的核心问题涉及如何实现上述目标.

或者,任何有关起点或有用教程的建议都会非常有用.我也很想在有关的相对优点有任何意见formatexpr,formatprg或内部格式进行格式化等.

Jer*_*lim 1

经过一番搜索后,我在 Tex.SE 上找到了类似问题的有用答案。它提供了专门的格式化Context源的函数,可以适应LaTeX。

我想我更喜欢与 Vim 中的内置gq功能集成的东西。答案仍然需要一些工作来配置 LaTeX,而且我不确定它提供了什么缩进。无论如何,我想我会分享它,以防它对其他人有用。