Vim: 抽取整个 Tex 文件环境

Vim: yank an entire environment of Tex file

我正在使用 vim 和 latex-suite 来编辑我的文档,有时需要复制整个环境(从 \begin{...} 到 \end{...})。比如我要复制这部分

\begin{align*}
  \sigma &\rightarrow A | B | C | ABC \
  A &\rightarrow a | \varepsilon \
  B &\rightarrow b | \varepsilon \
  C &\rightarrow c | \varepsilon
\end{align*}

每当我需要这样做时,我必须移动到开始标签,计算行数并输入 yank 命令(在上面的示例中为 6yy)。

我的问题是:

  1. 有没有更快的方法来完成这项类似于在 html 或 xml 文件 (yit, yat) 中抽取整个标签的工作?
  2. 如果没有,请告诉我如何在 vim 中创建自己的命令来执行此操作?

我建议您使用 vim-textobj-latex 插件,它会为您提供一些新的文本对象。特别是 aeie 文本对象 "an environment" 和 "inner environment"。

注意:vim-textobj-latex插件依赖vim-textobj-user