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

时间:2011-08-25 07:03:28

标签: vim latex code-formatting beamer

我希望能够在Vim中使用gq组合键来格式化Beamer LaTeX幻灯片中的文本。

例如,我希望gqap对此进行转换:

\begin{frame}{Some title}
\begin{itemize}\item first point
\item second point
\item etc. point \end{itemize} \end{frame}

进入这个:

\begin{frame}{Some title}
  \begin{itemize}
    \item first point
    \item second point
    \item etc. point  
   \end{itemize} 
\end{frame}

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

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

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

或者,任何有关起点或有用教程的建议都会非常有用。 我还对有关formatexprformatprg或内部格式的相对优点的任何评论感兴趣,以便执行此类格式化。

2 个答案:

答案 0 :(得分:1)

经过一番搜索,我找到了this useful answer on Tex.SE to a similar question。它提供了一个专门的格式化Context源的函数,可以适应LaTeX。

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

答案 1 :(得分:0)

为什么不尝试snipmate插件

begin<tab>

begin{<cursor>env}                                                                                                                                                                         
    %text                                                                                                                                                                 
\end{env}