Pi_spec
Nvim :help
页面,从 生成 于 源代码,使用 tree-sitter-vimdoc 解析器。
这是一个用于处理 rpm spec 文件的文件类型插件。
目前,此 Vim 插件允许您轻松更新 RPM spec 文件中的 %changelog 部分。如果它还不存在,它甚至会为您创建一个部分。如果您今天已经插入了一个条目,它会给您机会在今天的条目中添加新项目。如果您没有提供格式字符串(
spec_chglog_format),它会询问您的电子邮件地址并自行构建格式字符串。
1. 如何使用它
spec_chglog 插件提供了一个类似于以下内容的映射:
:map <buffer>
<LocalLeader>
c <Plug>
SpecChangelog
这意味着您可以在 spec 文件中通过按下您的 maplocalleader 键(默认为 '\')加 'c' 来运行插件。如果您没有设置
spec_chglog_format,插件会询问您本次编辑会话中要使用的电子邮件地址。
每次您运行插件时,它都会检查 changelog 中的最后一个条目是否在今天由您写入。如果条目匹配,它将只插入一个新的 changelog 项目,否则它将创建一个新的 changelog 条目。如果您启用了
spec_chglog_release_info,它还会检查名称、版本和发布是否匹配。插件足够智能,会询问您是否应该更新软件包发布,如果您还没有这样做。
如您所知,您可以轻松地设置一个映射来访问任何 Vim 命令(或任何其他东西)。如果您不喜欢默认的 <LocalLeader>
c 映射,您只需设置自己的键即可。以下行展示了您如何在您的 vimrc 文件中执行此操作,将插件映射到 <F5>
键
au FileType spec map <buffer>
<F5>
<Plug>
SpecChangelog
注意:插件会尊重您更改默认映射的意愿,不会设置它。
此命令只会在 spec 文件缓冲区中添加映射。
您可以轻松地自定义您的 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() 函数手册页。
插件通常会在现有 %changelog 条目项目的后面插入新的 %changelog 条目项目(注意,它不是条目本身)。如果您设置了 spec_chglog_prepend 变量
let spec_chglog_prepend = 1
它会在现有项目的前面插入新项目。
如果您愿意,插件可以自动在每个 changelog 条目中插入发布信息。启用此功能的一个优点是,它可以控制软件包的最后一次更改后发布是否已更新。如果您没有更新软件包版本或发布,它会询问您是否应该为您更新软件包发布。要启用此功能,只需在您的 vimrc 中插入以下代码:
let spec_chglog_release_info = 1
然后,您的 changelog 条目中的第一个项目将类似于:
+ name-1.0-1cl
如果您不喜欢发布更新功能,并且不想每次检测到旧发布时都回答“否”,您可以使用以下命令禁用它:
let spec_chglog_never_increase_release = 1
祝您好运!