【问题标题】:Vim: yank an entire environment of Tex fileVim:拉出整个 Tex 文件环境
【发布时间】:2016-06-18 11:50:55
【问题描述】:

我正在使用 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 中创建自己的命令来执行此操作?

【问题讨论】:

  • 也许您可以将光标放在align* 然后按N^vnn$ 选择6 行?
  • 感谢@Lopezo 的快速回复。但这不是我要找的。因为它仍然比我目前的方法慢而且慢。顺便说一句,当我提到“计算数字”时,我并不是说我手动计算它们,而是我通过在 vimrc 文件中添加“set rnu”来利用“相对行号”,这样我就可以看到我必须立即拉出多少行.
  • 我可以想到一个自定义文本对象。但我们需要写那个,我不是这方面的专家。对不起

标签: vim latex copy-paste environment yank


【解决方案1】:

我建议你使用vim-textobj-latex 插件,它会为你提供一些新的文本对象。特别是“环境”和“内部环境”的 aeie 文本对象。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多