我采取的第一步是设置git以使用Sublime Text 2作为我的编辑器。
git config --global core.editor "subl -n -w"
每次我执行'git commit --verbose'时都会打开Sublime Text 2,但是如何让Sublime Text 2自动打开已设置diff语法的COMMIT_EDITMSG文件?
我知道一个解决方案是使用diff语法设置所有纯文本文件打开,但我不想这样做,因为除了来自COMMIT_EDITMSG的纯文本文件不应该有diff语法。< / p>
非常感谢你帮助我!
答案 0 :(得分:0)
这可以通过一个简单的插件来实现,该插件在加载文件时捕获并根据文件名设置适当的语法。
要执行此操作,请从菜单中选择Tools > New Plugin...
,将示例代码替换为以下代码,然后将其保存为Sublime默认位置的py
文件(例如{{1} }}):
diff_syntax_setter.py
现在,每次加载以名称import sublime, sublime_plugin
class DiffListener(sublime_plugin.EventListener):
def on_load(self, view):
if view.file_name() is not None:
if view.file_name().endswith("COMMIT_EDITMSG"):
view.settings().set("syntax", 'Packages/Diff/Diff.tmLanguage')
结尾的文件时,语法将自动设置为Diff语法。
此插件也 MOSTLY 与Sublime Text 3一起使用,但菜单命令的位置改为COMMIT_EDITMSG
。
这里需要注意的是,在Sublime Text 2中,编辑器的启动包括在从命令行执行命令(例如打开文件)之前加载所有插件。)
在Sublime Text 3中,启动更加简化,因为编辑器启动并在插件仍在加载时变得可用。这样可以加快启动速度,因为还没有等待加载插件,但这意味着在加载自定义插件之前文件已经打开。
因此,虽然这可以在Sublime Text 3中使用,但只有在Sublime已经运行并且如果命令导致Sublime重新启动时它才会起作用。它将起作用。