0

我想在 Vim 中创建一个文档模板。

创建扩展文件后.bananão,模板应自行激活并成为当前缓冲区。

该模板将包含如下内容:


Names of attorneys:
- DEFATTORNEY
- BANANATTORNEY

Plaintiff:
- BANANAPLAINTIFF
Defendant:
- BANANADEFENDANT

...

.. moves the court for the entry of an Order directing BANANAPLAINTIFF
   to produce to BANANADEFENDANT ...

... etc.

我想vim观察对这个文档模板进行的更改,并在检测到特定事件时触发操作。

我想监控的变化是:

  • 编辑属于集合 COCONUTSET 的任何关键字:{ DEFATTORNEY, BANANATTORNEY, BANANAPLAINTIFF, BANANADEFENDANT }

我想配置的触发复合动作是:

  • 在完成编辑 COCONUTSET 中的一个单词的命令后,说 COCONUTWORD,读取第一个代替占位符单词 COCONUTWORD 的单词,并将所有其他出现的占位符单词 COCONUTWORD 替换为刚刚替换它的替换单词。

  • 从 COCONUTSET 中删除 COCONUTWORD。

  • 如果 COCONUTSET 为空,则停止监视更改。

您会为此推荐哪些功能/方法?

4

1 回答 1

0

用你这个愚蠢的例子,很难判断它的应用有多好,但我已经为我编写了一个插件,它提供了一个gc像 built-in 一样工作的命令c,并且在离开插入模式后,将本地替换应用于当前的所有其他事件行(如果字符更改很小),或者当整行更改时,缓冲区的其余部分。我计划很快发布这个,但本质上你只需要挂钩InsertLeave事件,查看已编辑的内容(注册".),然后执行替换。

于 2012-10-05T18:56:50.763 回答