注意:你只能修改后缀为 user.toml 的文件,后缀为 default.toml 的文件不要修改。
- 将 settings.default.toml 里的内容粘贴(覆盖)到 settings.user.toml 里。使得两个文件的内容是一样的。
- 同理,将 custom_plugin.default.toml 里的内容粘贴(覆盖)到 custom_plugin.user.toml 里。使得两个文件的内容是一样的。
- 若你要修改的是
右键菜单→常用插件→二级插件
下的插件,请打开 custom_plugin.user.toml 文件;否则请打开 settings.user.toml 文件。 - 使用 ctrl+F 查找你要修改的插件的中文名(在右键菜单中的名字),根据里面的说明文字修改。
- 保存,重启 Typora。
default.toml
:默认的配置,请不要修改。user.toml
:用户的配置,优先级高于 default.toml。
插件系统会优先从 user.toml 获取配置项,若 user.toml 没有对应的配置项,则从 default.toml 获取。
为何如此设计?答:区分 用户配置 和 默认配置。插件升级迭代过程中,default.toml 被不断修改,而 user.toml 会被尊重和保留。这就实现了随着插件的升级,功能不断丰富并且保留用户个性化设置。
custom_plugin.*.toml
:用户插件(二级插件)的配置。从右键菜单上看,所有常用插件→二级插件
下的插件的配置都在这里。settings.*.toml
: 默认插件(一级插件)的配置。从右键菜单上看,其余所有插件的配置都在这里。
一级插件从 settings.*.toml 获取配置项,二级插件从 custom_plugin.*.toml 获取配置项。
为何如此设计?答:区分 用户插件 和 默认插件。本插件系统提供了开放能力,用户可以自己写插件,这些插件的配置就要写在 custom_plugin.user.toml。
hotkey.*.toml
:为【任何插件功能】或【任何自定义函数】绑定自定义快捷键,仅当 hotkeys 插件启用时生效。
此配置是高级配置,仅对有 javascript 基础的用户开放。
见懒人版本。
注意:配置选项是大小写敏感的。
以 修改只读模式的 HOTKEY 和 READ_ONLY_DEFAULT 配置 为例。
-
打开 settings.default.toml,找到你想修改的插件(read_only),发现配置如下:
[read_only] # 启用插件 ENABLE = true # 插件名称 NAME = "只读模式" # 进入和脱离只读模式的快捷键 HOTKEY = "ctrl+shift+r" # 默认使用只读模式(打开Typora就进入只读模式) READ_ONLY_DEFAULT = false # 开启只读模式后,右下角数字统计区域出现的提示文字 SHOW_TEXT = "ReadOnly"
-
打开 settings.user.toml,添加如下内容:
[read_only] READ_ONLY_DEFAULT = true # 打开Typora时会自动进入只读模式 HOTKEY = "ctrl+alt+shift+r" # 快捷键修改为ctrl+alt+shift+r
-
这样一来,settings.user.toml 里的
HOTKEY
和READ_ONLY_DEFAULT
选项就会覆盖掉 settings.default.toml,并且 其他选项保持不变。 -
保存,重启 Typora。
为什么推荐此种方法?
- 因为此方法是
部分修改
,而简单方法是全量修改
。复杂方法只修改了我感兴趣的部分,其他保持不变;而简单方法的逻辑是:我对所有配置项都感兴趣,全部重新修改了一遍。 - 插件不断迭代,有时候开发者可能会修改某些配置的默认值(也就是 default.toml 的值发生了改变),如果你使用了全量修改,因为 user.toml 的优先级高于 default.toml,因此插件系统只会从 user.toml 获取配置,导致只能拿到旧值,所以插件系统只会使用旧值,直到你手动修改。而部分修改,会因为在 user.toml 中找不到,转去 default.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
[reopenClosedFiles]
hide = true
auto_reopen_when_init = true
[openInTotalCommander]
enable = true
[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 格式校验网站
有需要的话,你还可以创建目录 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 平台。