Pi_spec

Nvim :help 页面,从 生成源代码,使用 tree-sitter-vimdoc 解析器。


作者:Gustavo Niemeyer
这是一个用于处理 rpm spec 文件的文件类型插件。
目前,此 Vim 插件允许您轻松更新 RPM spec 文件中的 %changelog 部分。如果它还不存在,它甚至会为您创建一个部分。如果您今天已经插入了一个条目,它会给您机会在今天的条目中添加新项目。如果您没有提供格式字符串(spec_chglog_format),它会询问您的电子邮件地址并自行构建格式字符串。
1. 如何使用它 spec-how-to-use-it 2. 自定义 spec-customizing

1. 如何使用它

spec_chglog 插件提供了一个类似于以下内容的映射:
:map <buffer> <LocalLeader>c <Plug>SpecChangelog
这意味着您可以在 spec 文件中通过按下您的 maplocalleader 键(默认为 '\')加 'c' 来运行插件。如果您没有设置 spec_chglog_format,插件会询问您本次编辑会话中要使用的电子邮件地址。
每次您运行插件时,它都会检查 changelog 中的最后一个条目是否在今天由您写入。如果条目匹配,它将只插入一个新的 changelog 项目,否则它将创建一个新的 changelog 条目。如果您启用了 spec_chglog_release_info,它还会检查名称、版本和发布是否匹配。插件足够智能,会询问您是否应该更新软件包发布,如果您还没有这样做。

设置映射 spec-setting-a-map

如您所知,您可以轻松地设置一个映射来访问任何 Vim 命令(或任何其他东西)。如果您不喜欢默认的 <LocalLeader>c 映射,您只需设置自己的键即可。以下行展示了您如何在您的 vimrc 文件中执行此操作,将插件映射到 <F5>
au FileType spec map <buffer> <F5> <Plug>SpecChangelog
注意:插件会尊重您更改默认映射的意愿,不会设置它。
此命令只会在 spec 文件缓冲区中添加映射。

2. 自定义 spec-customizing

格式字符串 spec_chglog_format

您可以轻松地自定义您的 spec 文件条目看起来像什么。要做到这一点,只需在您的 vimrc 文件中设置变量 "spec_chglog_format",如下所示:
let spec_chglog_format = "%a %b %d %Y My Name <[email protected]>"
请注意,"%a %b %d %Y" 是最常用的时间格式。如果您没有提供格式字符串,当您第一次运行 SpecChangelog 命令时,它会询问您的电子邮件地址并为您构建 spec_chglog_format 变量。这样,您只需要提供一次电子邮件地址即可。
要了解您可以使用哪些格式选项,请查看 strftime() 函数手册页。

在何处插入新项目 spec_chglog_prepend

插件通常会在现有 %changelog 条目项目的后面插入新的 %changelog 条目项目(注意,它不是条目本身)。如果您设置了 spec_chglog_prepend 变量
let spec_chglog_prepend = 1
它会在现有项目的前面插入新项目。

插入发布信息 spec_chglog_release_info

如果您愿意,插件可以自动在每个 changelog 条目中插入发布信息。启用此功能的一个优点是,它可以控制软件包的最后一次更改后发布是否已更新。如果您没有更新软件包版本或发布,它会询问您是否应该为您更新软件包发布。要启用此功能,只需在您的 vimrc 中插入以下代码:
let spec_chglog_release_info = 1
然后,您的 changelog 条目中的第一个项目将类似于:
+ name-1.0-1cl
如果您不喜欢发布更新功能,并且不想每次检测到旧发布时都回答“否”,您可以使用以下命令禁用它:
let spec_chglog_never_increase_release = 1
祝您好运!
命令索引
快速参考