在emacs中使用git-commit类似vim的语法高亮显示

时间:2012-12-07 22:43:21

标签: git vim emacs syntax-highlighting

我最近选择了emacs作为总编辑来取代gedit和vim。我想念非常关于vim的一件事是git语法高亮。我试过git-el,显然没有运气。

vim git-commit突出显示提交消息第一行的前50个字符的“主题行”突出显示,第二行的“错误”突出显示,注释以及添加或删除的红色和绿色突出显示文件(它们本身是在预先编写的注释中编写的。)

是否有针对emacs的类似功能语法高亮显示,如果有,我将如何安装它?

3 个答案:

答案 0 :(得分:4)

我没有真正做emacs,但我做了一些快速搜索,找到了git-modesmagit。我想这会让你开始走正确的道路。

答案 1 :(得分:1)

"Git Commit Mode" on EmacsWiki概述了主要的历史兴趣。 (目前有些争论性的)页面似乎认为你应该使用Magit。所有道路最终都会导致git-modes,据称现在也是Magit的默认道路。

(我的Ubuntu 14.04 magit似乎仍未包含它。从Marmalade安装git-commit-mode很快就解决了这个问题。)

Google中的许多随机dot.emacs文件似乎都包含diff-mode COMMIT_EDITMSG规范。我不明白为什么 - 缓冲区不包含diff,diff模式禁用一些有用的文本编辑功能。如果你没有开箱即用,那么指定log-edit-mode会更有意义。

答案 2 :(得分:0)

2019更新:

这里给出的答案是5和7岁,我花了一些时间弄清楚如何在没有magit的情况下获得各种git突出显示。现在,大多数链接都指向magit存储库,从那里不清楚当前与git相关的软件包列表是什么,也不清楚它们是否在Melpa上。

EmacsWiki page确实提供了信息,但是考虑到各种包装的运行历史以及名称的微小变化,要了解并了解现在的位置和状态并不完全容易叫。

所以我认为我将发布这些软件包的摘要。

它们都在Melpa上,并且其中任何一个软件包都可以独立于其他软件包进行安装,因此您可以选择所需的软件包。

  • 允许突出显示提交消息的语法的软件包称为git-commit
  • 对于.gitignore突出显示,它称为gitignore-mode
  • 对于.gitattributes,它称为gitattributes-mode
  • ,对于.gitconfig,它称为gitconfig-mode

回答问题的程序包当前称为git-commit,位于Melpa上。