这不是关于那些在操作系统级别设置了只读标志的文件,而是关于用户不打算修改的每个文件。

我希望 Sublime Text 忽略任何更改并防止将任何内容保存到此类文件中。这种情况的一个例子是当用户正在阅读不应以任何方式更改的源代码时。

“小心点,不要按任何按钮”无疑是一个很好的建议,但如果我“不小心”删除评论前的八索,或者在对这些事情敏感的文件中添加新行(Linux 中的一些配置文件)然后不小心点击了保存....

我在 GitHub 上找到了“toggle-readonly”,但它实际上是在切换文件权限(“只读”、“写入”),这不是我想要的。

最佳答案

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

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")

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

view.is_read_only()

关于sublimetext2 - 如何使缓冲区在 Sublime Text 2 中具有只读权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31948296/

10-16 09:49