我想使用新字符编码将多个文件保存在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)" }
}