gpt4 book ai didi

sublimetext - Sublime Text : How to automatically open with specific encoding for some file extensions?

转载 作者:行者123 更新时间:2023-12-01 00:43:54 26 4
gpt4 key购买 nike

有没有办法强制 Sublime (ST3)打开/重新打开某种具有特定编码的文件?我的问题是:我不希望 ST3 显示特定文件扩展名的内容(即 .log、.dump 和我的任何其他自定义文件)。目前的解决方案是通过 view.set_encoding() 方法手动将编码设置为 Hexadecimal。在此讨论中提出了另一种解决方案。但似乎只在文件打开后设置编码。有什么方法可以自动打开或重新打开那些使用十六进制编码的文件?

注意:我已将 default_encoding 设置为 UTF-8 并回退为十六进制。由于 ST3 将我的自定义文件的内容检测为 UTF-8,因此会显示该内容。我只想让 ST3 显示某种自定义文件的十六进制 View ,并且必须手动更改编码以显示/修改内容。

非常感谢您的帮助,

最佳答案

演示:

GIF Demo

代码:

保存@Packages/YourPluginName/YourPluginName.py

import sublime, sublime_plugin

class EventListener( sublime_plugin.EventListener ):

def on_load ( self, view ):

fileExtension = view.window().extract_variables() [ "file_extension" ]

encodingSets = \
{
"log" : "Hexadecimal",
"dump" : "Hexadecimal",
}

if fileExtension in encodingSets:
encoding = encodingSets[ fileExtension ]
view.run_command ( "reopen", { "encoding" : encoding } )

笔记:

我找到了 reopen + encoding命令在 This Thread , 并将其包裹在 on_loadEventListener您可以在其中定义扩展的键值对及其相关编码。

由于文件是在事件缓冲区中重新打开的,因此可以很容易地使用股票键绑定(bind) ctrl + z 重置编码.如果您希望这更安全,您可能需要找到一种方法来克服这个漏洞。我研究了禁用撤消堆栈并创建特定于语法的键绑定(bind),但都没有找到任何快速结果。尝试进一步研究这些和类似的主题,也许还可以考虑重新映射您的 ctrl + z如果您无法找到其他解决方案,请使用命令。

编码:

以下是 Sublime Text 中可接受的编码列表:

"Hexadecimal"
"UTF-8"
"UTF-16 LE"
"UTF-16 BE"
"Western (Windows 1252)"
"Western (ISO 8859-1)"
"Western (ISO 8859-3)"
"Western (ISO 8859-15)"
"Western (Mac Roman)"
"DOS (CP 437)"
"Arabic (Windows 1256)"
"Arabic (ISO 8859-6)"
"Baltic (Windows 1257)"
"Baltic (ISO 8859-4)"
"Celtic (ISO 8859-14)"
"Central European (Windows 1250)"
"Central European (ISO 8859-2)"
"Cyrillic (Windows 1251)"
"Cyrillic (Windows 866)"
"Cyrillic (ISO 8859-5)"
"Cyrillic (KOI8-R)"
"Cyrillic (KOI8-U)"
"Estonian (ISO 8859-13)"
"Greek (Windows 1253)"
"Greek (ISO 8859-7)"
"Hebrew (Windows 1255)"
"Hebrew (ISO 8859-8)"
"Nordic (ISO 8859-10)"
"Romanian (ISO 8859-16)"
"Turkish (Windows 1254)"
"Turkish (ISO 8859-9)"
"Vietnamese (Windows 1258)"

* 摘自 Packages\Default\Encoding.sublime-menu *

关于sublimetext - Sublime Text : How to automatically open with specific encoding for some file extensions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35946158/

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