gpt4 book ai didi

git - 当我执行 git commit --verbose 时,将语法设置为 diff in sublime text 2

转载 作者:太空狗 更新时间:2023-10-29 13:47:02 26 4
gpt4 key购买 nike

我采取的第一步是设置 git 以使用 Sublime Text 2 作为我的编辑器。

git config --global core.editor "subl -n -w"

每次我执行“git commit --verbose”时都会打开 Sublime Text 2,但是如何让 Sublime Text 2 自动打开已设置差异语法的 COMMIT_EDITMSG 文件?

我知道一种解决方案是将所有纯文本文件设置为使用差异语法打开,但我不想这样做,因为来自 COMMIT_EDITMSG 的纯文本文件以外的纯文本文件不应该具有差异语法。

非常感谢你帮助我!

最佳答案

这可以通过一个简单的插件来实现,该插件可以在加载文件时捕获并根据文件名设置适当的语法。

为此,从菜单中选择Tools > New Plugin...,将示例代码替换为下面的代码,然后将其保存为 py 文件Sublime 默认的位置(例如 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')

现在每次加载以名称 COMMIT_EDITMSG 结尾的文件时,语法将自动设置为 Diff 语法。

虽然菜单命令的位置已更改为 Tools > Developer > New Plugin... 代替。

这里需要注意的是,在 Sublime Text 2 中,编辑器的启动包括在从命令行执行命令(例如打开文件)之前加载所有插件。

在 Sublime Text 3 中,启动更加简化,因为编辑器在插件仍在加载时启动并可用。这使得启动速度更快,因为不会等待插件加载,但这意味着在加载自定义插件之前文件已经打开。

因此,虽然这在 Sublime Text 3 中有效,但它仅在 Sublime 已经运行时有效,如果命令导致 Sublime 重新启动则无效。

关于git - 当我执行 git commit --verbose 时,将语法设置为 diff in sublime text 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com