Typora插件自定义快捷键配置指南

Typora插件自定义快捷键配置指南

typora_plugin Typora plugin. feature enhancement tool | Typora 插件,功能增强工具 typora_plugin 项目地址: https://gitcode.com/gh_mirrors/ty/typora_plugin

在Typora插件项目中,自定义快捷键功能为用户提供了强大的文本处理能力。本文将详细介绍如何通过修改配置文件来实现自定义快捷键功能,让用户能够快速为选中文本应用特定样式或执行自定义操作。

配置文件位置

自定义快捷键的核心配置文件位于插件目录下的plugin/global/settings/hotkey.user.toml文件中。这个文件专门用于用户自定义的快捷键设置,与系统默认的hotkey.default.toml文件分开管理,避免用户修改被系统更新覆盖。

配置语法解析

配置文件采用TOML格式,每个快捷键配置都是一个独立的配置块,包含以下几个关键参数:

  1. desc:快捷键的功能描述,会显示在快捷键帮助中
  2. enable:是否启用该快捷键,设置为true表示启用
  3. hotkey:定义具体的快捷键组合,如"ctrl+alt+j"
  4. evil:包含实际执行的JavaScript代码

实际配置示例

以下是一个完整的为选中文本添加引号的快捷键配置示例:

[wrapQuotationMarks]
desc = "包裹引号"
enable = true
hotkey = "ctrl+alt+j"
evil = """
() => {
    const {node, bookmark, range} = this.utils.getRangy();
    const ele = File.editor.findElemById(node.cid);
    const rangyText = ele.rawText().substring(bookmark.start, bookmark.end);
    if (rangyText !== "") {
        const insertText = "“" + rangyText + "”";
        File.editor.UserOp.pasteHandler(File.editor, insertText, true, true, true);
        File.editor.undo.addSnap(node.cid, File.editor.undo.UndoManager.SnapFlag.REPLACE);
        setTimeout(() => {
            const {range, bookmark} = this.utils.getRangy();
            bookmark.start -= insertText.length - 1;
            bookmark.end -= 1
            range.moveToBookmark(bookmark);
            range.select();
        });
    }
}
"""

代码功能解析

  1. 获取选区内容:通过this.utils.getRangy()获取当前选中的文本范围和相关DOM节点信息
  2. 文本处理:提取选中文本内容,并在其前后添加中文引号
  3. 替换选区:使用pasteHandler方法用处理后的文本替换原选区
  4. 撤销支持:添加撤销快照,确保操作可通过Ctrl+Z撤销
  5. 选区恢复:调整选区位置,使其仅选中新添加的引号内的内容

高级应用技巧

  1. 无选区时的处理:可以在代码中添加判断,当没有选中文本时,直接插入预设的样式模板
  2. 多样式组合:可以设计更复杂的样式组合,如同时添加引号和改变字体颜色
  3. 条件判断:根据选区内容的不同特征执行不同的样式处理
  4. 外部数据引用:可以从其他配置文件中读取样式模板,实现样式与快捷键的分离管理

注意事项

  1. 修改配置文件后需要重启Typora或重新加载插件才能生效
  2. 复杂的JavaScript代码建议先在浏览器控制台测试后再写入配置文件
  3. 快捷键冲突时,后加载的配置会覆盖先加载的配置
  4. 建议定期备份自定义的快捷键配置

通过灵活运用这些配置技巧,用户可以极大地提升在Typora中的编辑效率,实现一键应用各种复杂样式和文本处理操作。

typora_plugin Typora plugin. feature enhancement tool | Typora 插件,功能增强工具 typora_plugin 项目地址: https://gitcode.com/gh_mirrors/ty/typora_plugin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白日肖Nicholas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值