如何使用saveAs和close file命令在sublime text 3中创建宏?

时间:2013-11-07 09:07:10

标签: macros command sublimetext sublimetext3

我需要将许多html文件的编码更改为UTF8(来自Windows 1252)。我在Windows 8上使用Sublime text 3.所以我认为创建宏将非常高效,我只需要在宏“Save with Encoding - UTF8”和“Close file”中使用两个命令。但是当我试图记录宏时,这些命令没有被记录下来。所以我需要用宏命令手动创建json文件,但我不知道如何。

1 个答案:

答案 0 :(得分:7)

我不确定这可以用宏来完成这些命令是否超出宏的范围(例如window command而不是视图命令?),但我设法使其工作为插件...

将以下内容另存为$PATH_TO_SUBLIME_DATA/Packages/SaveAs-UTF8.py

import sublime, sublime_plugin

class SaveAsUtf8Command(sublime_plugin.WindowCommand):
    def run(self):
        self.window.run_command("save", {"encoding": "utf-8" })
        self.window.run_command("close")

要使用“Command Option Shift 8”触发命令,请将以下内容添加到Sublime Text > Preferences > Keybindings - User文件中:

[
    { "keys": ["super+option+shift+8"], "command": "save_as_utf8"}
]

如果您愿意,我已将此保存为主旨:https://gist.github.com/9505499