Sublime Text 2是否具有只读模式?

Ren*_*der 13 sublimetext2

这不是那些在操作系统级别设置了只读标志的文件,而是关于用户不打算修改的每个文件.我只是希望sublime文本忽略任何更改并阻止将任何内容保存到此类文件中.这种情况的一个示例是当用户正在阅读不应该被改变的源代码时.

"只是要非常小心,不要按任何按钮"无疑是一个很好的建议,但如果我"意外"(< - 空中引号)删除评论前面的octothorpe,或者在文件中添加新行对这些事情敏感(Linux中的一些配置文件),然后偶然遇到保存......

我在github上找到了这个插件,但它实际上是在切换文件权限(只读,写入) - 不是我想要的.

Mat*_*DMo 9

是的,这是可能的,但你必须编写一个插件(实际上并不那么难,特别是如果你了解Python).该API调用view.set_read_only(flag)sublime模块,其中Flag是一个布尔值.这是一个快速示例,用于检查新打开的文件是否具有某个后缀,如果是,则将其设置为只读.

import sublime
import sublime_plugin


class MakeViewReadOnlyCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        if self.view.file_name().endswith(".cfg"):
            self.view.set_read_only(True)


class ConfigFileListener(sublime_plugin.EventListener):
    def on_load(self, view):
        view.run_command("make_view_read_only")
Run Code Online (Sandbox Code Playgroud)

使用Python语法打开一个新文件,将代码复制到其中,根据需要进行更改,然后将其保存在Packages/User目录中make_view_read_only.py.重新启动Sublime加载它,你应该全部设置.要测试某个视图是否为只读,请打开控制台并输入

view.is_read_only()
Run Code Online (Sandbox Code Playgroud)