Sublime text - difftool 的快捷方式

Sublime text - shortcut for difftool

我想添加快捷方式以便为当前文件启动 difftool。

我向 ~/.config/sublime-text-3/Packages/UserDefault (Linux).sublime-keymap 添加了以下条目:

[
  { "keys": ["ctrl+shift+g"], "command": "difftool" },
]

但是没用。

我注意到当我使用顶部菜单(工具->Git->此文件->DiffTool)时,我在 sublime 控制台中看到以下命令:

['git', 'difftool', '--', 'path-to-file']

不知道快捷方式应该怎么写

Git 包通过提供一个 Main.sublime-menu 文件来向菜单添加项目,该文件列出了它要添加的菜单项以及在选择它们时要调用的命令。这将告诉您需要使用的 command 以及为获得相同功能需要提供的 args

最简单的方法是使用 PackageResourceViewer 打开资源,这样您就不必手动搜索文件。

基于此,您想要的快捷方式将如下所示(尽管其格式设置为在此处显示得更好并且可以全部为一行等):

{
    "keys": ["ctrl+shift+g"],
    "command": "git_raw",
    "args": {
        "command": "git difftool",
        "append_current_file": true,
        "may_change_files": false
    }
}

如果您还没有现有的键绑定,为了使用它,您需要将整个绑定包装在一个 json 数组中([])。另请注意,所有绑定都需要用逗号分隔。