合同等正式物品需要编号列表。

1. Some text

2. More text

 2.1. Sub-section text


等。

关键是消除插入或删除文件时的手动重新编号。项目清单。 vim是否可以?列表编号的一致性确实很难手动跟踪。

与之相关的目标之一是通过无混淆的存储格式(例如明文)来实现适当的修订控制。 />

评论

如果可以接受PDF,则可以使用未编号的列表标记来标记列表项,然后使用asciidoc将该标记转换为带有行号的PDF。但是我也想知道如何使用vim对纯文本文件进行自动行编号。

这就是文字处理器非常擅长的事情。

@Wildcard PDF确实可以接受,唯一的问题是初始的匿名标记使在文档中引用特定编号的项目变得困难。但是,您的方法绝对比没有要强。

使用某种形式的markdown是否可以接受,然后使用ex-mode命令自动将其转换/未转换?例如在顶级列表项前面加上-,在第二级列表项前面加上-,等等。这似乎是最有可能的解决方法。请参阅我最近有关在Ex模式下连续编号的问题,作为起点。

由于选件稀少,因此无所不能。

#1 楼

我有一个可以部分帮助您的插件:lazyList(没有自动列表编号)。在以下示例中(_是光标位置)...

1. Some text
2. More text   
 Sub-secti_on text
 Sub-section text   
 Sub-section text


...只需执行命令:LazyList '2.%1%. '即可获得:

1. Some text
2. More text   
 2.1. Sub-secti_on text
 2.2. Sub-section text   
 2.3. Sub-section text


要删除索引,请执行相同的命令。

默认情况下,索引会添加到当前段落(相同的缩进或被空行包围),但是您可以将其添加到可视选择中。

根据您的情况进行操作:


添加索引
在添加新元素之前删除索引。
在添加新元素之后添加索引。

该视频应该更明确。

插件的坏处是它没有考虑空行的视觉选择,我应该重新考虑一下行为。

PS英语不是我的母语,所以请原谅错误。