Skip to content

Latest commit

 

History

History
188 lines (111 loc) · 5.89 KB

请读我.md

File metadata and controls

188 lines (111 loc) · 5.89 KB

请根据你的勤奋程度选择 懒人版本详细版本

懒人版本

注意:你只能修改后缀为 user.toml 的文件,后缀为 default.toml 的文件不要修改。

  1. 将 settings.default.toml 里的内容粘贴(覆盖)到 settings.user.toml 里。使得两个文件的内容是一样的。
  2. 同理,将 custom_plugin.default.toml 里的内容粘贴(覆盖)到 custom_plugin.user.toml 里。使得两个文件的内容是一样的。
  3. 若你要修改的是 右键菜单→常用插件→二级插件 下的插件,请打开 custom_plugin.user.toml 文件;否则请打开 settings.user.toml 文件。
  4. 使用 ctrl+F 查找你要修改的插件的中文名(在右键菜单中的名字),根据里面的说明文字修改。
  5. 保存,重启 Typora。

详细版本

*.default.toml 和 *.user.toml 的区别

  • default.toml:默认的配置,请不要修改。
  • user.toml:用户的配置,优先级高于 default.toml。

插件系统会优先从 user.toml 获取配置项,若 user.toml 没有对应的配置项,则从 default.toml 获取。

为何如此设计?答:区分 用户配置 和 默认配置。插件升级迭代过程中,default.toml 被不断修改,而 user.toml 会被尊重和保留。这就实现了随着插件的升级,功能不断丰富并且保留用户个性化设置。

settings.*.toml 和 custom_plugin.*.toml 的区别

  • custom_plugin.*.toml:用户插件(二级插件)的配置。从右键菜单上看,所有 常用插件→二级插件 下的插件的配置都在这里。
  • settings.*.toml: 默认插件(一级插件)的配置。从右键菜单上看,其余所有插件的配置都在这里。

一级插件从 settings.*.toml 获取配置项,二级插件从 custom_plugin.*.toml 获取配置项。

为何如此设计?答:区分 用户插件 和 默认插件。本插件系统提供了开放能力,用户可以自己写插件,这些插件的配置就要写在 custom_plugin.user.toml。

hotkey.*.toml 的功能

hotkey.*.toml:为【任何插件功能】或【任何自定义函数】绑定自定义快捷键,仅当 hotkeys 插件启用时生效。

此配置是高级配置,仅对有 javascript 基础的用户开放。

如何修改配置(简单方法)

见懒人版本。

如何修改配置(推荐方法)

注意:配置选项是大小写敏感的。

以 修改只读模式的 HOTKEY 和 READ_ONLY_DEFAULT 配置 为例。

  1. 打开 settings.default.toml,找到你想修改的插件(read_only),发现配置如下:

    [read_only]
    # 启用插件
    ENABLE = true
    # 插件名称
    NAME = "只读模式"
    # 进入和脱离只读模式的快捷键
    HOTKEY = "ctrl+shift+r"
    # 默认使用只读模式(打开Typora就进入只读模式)
    READ_ONLY_DEFAULT = false
    # 开启只读模式后,右下角数字统计区域出现的提示文字
    SHOW_TEXT = "ReadOnly"
  2. 打开 settings.user.toml,添加如下内容:

    [read_only]
    READ_ONLY_DEFAULT = true     # 打开Typora时会自动进入只读模式
    HOTKEY = "ctrl+alt+shift+r"  # 快捷键修改为ctrl+alt+shift+r
  3. 这样一来,settings.user.toml 里的 HOTKEYREAD_ONLY_DEFAULT 选项就会覆盖掉 settings.default.toml,并且 其他选项保持不变

  4. 保存,重启 Typora。

为什么推荐此种方法?

  1. 因为此方法是 部分修改,而简单方法是 全量修改。复杂方法只修改了我感兴趣的部分,其他保持不变;而简单方法的逻辑是:我对所有配置项都感兴趣,全部重新修改了一遍。
  2. 插件不断迭代,有时候开发者可能会修改某些配置的默认值(也就是 default.toml 的值发生了改变),如果你使用了全量修改,因为 user.toml 的优先级高于 default.toml,因此插件系统只会从 user.toml 获取配置,导致只能拿到旧值,所以插件系统只会使用旧值,直到你手动修改。而部分修改,会因为在 user.toml 中找不到,转去 default.toml 中获取,自然能拿到最新值。

配置示例

以下是我个人的配置文件,你可以参考一下

settings.user.toml

[auto_number]
ENABLE_TABLE = false
ENABLE_IMAGE = false
ENABLE_FENCE = false

[fence_enhance]
REMOVE_BUTTON_HINT = true

[custom]
ALLOW_SET_CONFIG_IN_SETTINGS_TOML = false

[right_click_menu]
HIDE_OTHER_OPTIONS = true

[window_tab]
HEIGHT_SCALE = -1
WHEN_CLOSE_LAST_TAB = "exit"

[toolbar]
DEFAULT_TOOL = "plu"

[ripgrep]
HOTKEY = "ctrl+alt+j"

[collapse_table]
ENABLE = false

custom_plugin.user.toml

[reopenClosedFiles]
hide = true
auto_reopen_when_init = true

[openInTotalCommander]
enable = true

hotkey.user.toml

[fastInputFence]
desc = "快速插入golang代码块"
enable = true
hotkey = "ctrl+alt+n"
evil = '() => this.utils.insertText(null, "```go\n```", false);'

[indentFence]
desc = "当光标置于代码块中,按下此快捷键可以调整缩进代码块"
enable = true
hotkey = "ctrl+alt+l"
plugin = "fence_enhance"
function = "indentFence"
closestSelector = "#write .md-fences"

TOML 教程

  • 如果您对 toml 格式不太了解,可以花三分钟时间学习一下:TOML 教程
  • 如果您写入的内容有格式错误,会导致配置文件无法正确读取,此时请前往 TOML 格式校验网站

小秘密

有需要的话,你还可以创建目录 homeDir/.config/typora_plugin/ ,并在里面存放三个 user.toml 配置文件。这样就能将配置文件单独隔离出去,而且这里的配置文件 优先级最高

dir /b C:\Users\用户名\.config\typora_plugin

custom_plugin.user.toml
hotkey.user.toml
settings.user.toml

此方法适用于 Linux、Windows 平台。