【问题标题】:vim syntax highlighting for git commit messages - custom commentchargit 提交消息的 vim 语法高亮显示 - 自定义 commentchar
【发布时间】:2013-04-16 09:19:50
【问题描述】:

in this answer 所述,从 Git 1.8.2 开始,您可以使用 core.commentchar 配置值将提交消息 cmets 更改为默认 #(哈希标记或哈希符号)以外的其他内容。

这是一个救生员,例如如果您的提交消息策略希望您以票号开始提交消息:

#123 Fixed array indices

可悲的是,这破坏了 Vim 语法高亮。

你怎样才能恢复美丽?

【问题讨论】:

    标签: git vim comments syntax-highlighting


    【解决方案1】:

    您应该尝试运行:verbose syntax。活动的语法文件可能是$VIMRUNTIME\syntax\gitcommit.vimgithub version 可能在您的.vim 中)。

    它会告诉你哪个语法行将触发格式化为注释。

    您可能会看到类似的内容:

     gitcommitComment xxx match /^#.*/
         links to Comment
    

     syn match   gitcommitComment   "^#.*"
    

    表示它匹配以# 开头的每一行。

    您可以修改它,使第一行的# 不被视为注释。我不知道syntax 格式足以给你一个完整的解决方案。

     \%^   match the beginning of file
     \%1l  match line 1
     \%>1l match below line 1
    

    因此,您可以尝试修改 gitComment 模式,使其在 git 提交的第 1 行不起作用。

    (我尝试了一些东西,但没有设法只排除第一行评论!似乎还有一个 diffComment 搞砸了,因为 gitcommit 包含带有 syn include @gitcommitDiff syntax/diff.vim 的差异格式) )

    更多详情,请参阅:help syntax:help pattern

    另一个关于语法高亮的好资源:Learn Vim the Hard Way, chapter 46

    【讨论】:

    • 成功了!我只是添加它以保留完整的 HL 功能(例如在第二行的任何文本上显示错误或稍后在 cmets 中着色状态详细信息)我实际上将 # 更改为我的 core.commentchar (') 非常无处不在 i> 在文件中。时间会证明它是否破坏了某些东西...... ;)
    • 有人知道我是否可以通过运行系统命令来进行这种“调整”来设置我的系统,例如。使用ansible?
    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2015-04-24
    • 2013-01-24
    • 2016-12-29
    • 1970-01-01
    • 2016-05-07
    相关资源
    最近更新 更多