在崇高文本 3 中保存带有新编码的打开文件



我想使用新字符编码将多个文件保存在Sublime Text 3中。

我尝试使用以下键盘命令来实现这一点,但没有运气。基本上当我按下组合键时没有任何反应。

{
 "keys" : ["ctrl+alt+s"],
 "command" : "save_all", "args" :{"encoding" : "Western (Windows 1252)"}
} 

如果我用sublime.log_commands(True)检查控制台中的键绑定,我可以看到键绑定正在工作,因为它返回command: save_all {"encoding": "Western (Windows 1252)"}但是Sublime Text仍然没有将文件保存为西方(Windows 1252)。如果我重新打开文件,它会显示 UTF-8。

这是否可能,或者我使用的键绑定可能有问题?

我猜 save_all 命令不支持 encoding 参数。

您可以使用简短的 python 代码段保存所有具有不同编码的打开文件。


对于一次性使用,您只需在Sublime的python控制台中运行以下命令:

[view.run_command('save', { "encoding": "Western (Windows 1252)" }) for view in window.views()]

要创建键绑定:

  • 转到Tools菜单
  • Developer
  • New Plugin...

将新文件的内容替换为以下内容:

import sublime, sublime_plugin
class SaveAllWithEncodingCommand(sublime_plugin.TextCommand):
    def run(self, edit, **kwargs):
        for view in self.view.window().views():
            view.run_command('save', kwargs)

将其另存为Packages/User文件夹中的save_all_with_encoding.py(当它显示另存为对话框时,它应该默认为此文件夹...

然后,您的密钥绑定需要如下所示:

{
   "keys" : ["ctrl+alt+s"],
   "command" : "save_all_with_encoding", "args" : {"encoding" : "Western (Windows 1252)" }
}

最新更新