写作猫快捷键 - 标题样式切换

创建于 20 天前
更新于 20 天前
为写作猫添加快捷键:Ctrl+Alt+0~4 快速切换正文和标题样式
总安装量
15
今日新增
+0
用户评分
- / 5.0 (0)
当前版本
1.0
脚本详情
适用网站

写作猫快捷键 - 标题样式切换

TampermonkeyViolentmonkey脚本猫版本

功能简介

这是专为**写作猫(xiezuocat.com)**设计的效率增强脚本,通过键盘快捷键快速切换文本样式。无需鼠标点击工具栏,即可在正文、标题1至标题4之间瞬间切换,大幅提升长文写作与排版效率。

  • 极速样式切换:通过 Ctrl + Alt + 数字键 组合,一键应用正文或各级标题样式,告别鼠标频繁点击。
  • 无干扰设计:脚本静默运行,不修改页面原生UI,仅在后台监听键盘事件,性能开销极低。
  • 精准匹配:直接定位写作猫编辑器内部的样式实体元素,确保操作准确无误。
  • 轻量级实现:纯原生 JavaScript 编写,无外部依赖,加载速度快,兼容性强。
  • 可扩展性:代码结构清晰,易于根据需求添加更多快捷键映射或自定义通知提示。

功能特点

核心快捷键能力

  • 秒级响应:基于原生 keydown 事件监听,按键即时触发,无感知延迟。
  • 🎯 全样式覆盖:支持从正文(Pattern 0)到四级标题(Pattern 4)的常用排版格式。
  • 🛡️ 防冲突处理:自动阻止快捷键的默认浏览器行为,避免与系统或其他插件冲突。
  • 🖱️ 模拟真实点击:通过程序化触发 click 事件,完美兼容写作猫原有的样式逻辑和撤销/重做功能。

高性能与稳定性

  • 🚀 零DOM污染:仅在内存中查询目标元素,不向页面注入任何多余节点(除非启用通知)。
  • 🔋 低功耗监听:仅在按下 Ctrl + Alt 组合键时才进行后续逻辑判断,日常打字无额外计算负担。
  • 🔄 动态适配:每次按键实时查询 DOM,确保即使编辑器内容动态变化,也能准确找到当前可用的样式按钮。

交互体验

  • ⌨️ 肌肉记忆友好:采用常见的 Ctrl + Alt 组合,符合多数专业软件的操作习惯,易于形成肌肉记忆。
  • 🔕 静默模式:默认情况下操作无视觉反馈,保持界面整洁;可选开启顶部 Toast 通知提示当前操作。
  • 🎨 可定制提示:内置简单的通知函数,开发者可轻松启用或修改提示样式,满足个性化需求。

安装方法

  1. 确保浏览器已安装用户脚本管理器扩展:

  2. 点击下方链接安装脚本:
    安装脚本

  3. 或者手动创建新脚本,复制上述完整代码并保存至脚本管理器

适用页面

  • https://xiezuocat.com/*

操作说明

快捷键组合 功能 详细说明
Ctrl + Alt + 0 切换为正文 将选中段落或当前光标位置样式重置为普通正文
Ctrl + Alt + 1 切换为标题1 应用一级标题样式,通常用于文章主标题
Ctrl + Alt + 2 切换为标题2 应用二级标题样式,通常用于章节标题
Ctrl + Alt + 3 切换为标题3 应用三级标题样式,通常用于小节标题
Ctrl + Alt + 4 切换为标题4 应用四级标题样式,通常用于细分条目

注意:

  1. 使用前请确保焦点在写作猫编辑器区域内。
  2. 如果未选中文本,快捷键通常会对当前光标所在的段落生效。
  3. 建议先选中需要修改样式的文本块,再按下快捷键,效果最佳。
  4. 若快捷键无效,请检查是否与其他全局快捷键冲突,或尝试刷新页面。

技术细节

核心配置

// 快捷键映射配置:数字键 -> 写作猫内部 data-value 值
const keyMap = {
    '0': 'pattern0',  // 正文
    '1': 'pattern1',  // 标题1
    '2': 'pattern2',  // 标题2
    '3': 'pattern3',  // 标题3
    '4': 'pattern4'   // 标题4
};

// 目标元素选择器特征
// 类名: .option-entity__wmBzu
// 属性: data-value="${targetValue}"

核心功能实现

// 1. 键盘事件监听与拦截
document.addEventListener('keydown', function(e) {
    // 仅响应 Ctrl + Alt 组合键
    if (e.ctrlKey && e.altKey) {
        const key = e.key;
        // 检查是否为定义的快捷键
        if (keyMap.hasOwnProperty(key)) {
            e.preventDefault(); // 阻止默认行为
            
            // 2. 精准定位目标样式按钮
            const targetValue = keyMap[key];
            const targetElement = document.querySelector(`.option-entity__wmBzu[data-value="${targetValue}"]`);

            // 3. 模拟点击触发样式变更
            if (targetElement) {
                targetElement.click();
            }
        }
    }
});

执行流程

  1. 用户按下键盘任意键,触发全局 keydown 事件监听。
  2. 脚本检查是否同时按下了 CtrlAlt 键。
  3. 若组合键匹配,进一步检查具体按下的数字键(0-4)。
  4. 根据映射表获取对应的写作猫内部样式标识(如 pattern1)。
  5. 在 DOM 中查找具有对应 data-value 属性的样式按钮元素。
  6. 若找到元素,程序化触发其 click 事件,完成样式切换。
  7. (可选)若启用了通知功能,显示顶部 Toast 提示操作结果。

常见问题

Q: 按下快捷键没有反应怎么办?

A:

  1. 确认当前页面是写作猫编辑页面 (xiezuocat.com)。
  2. 确认编辑器已获得焦点(点击一下编辑区域)。
  3. 检查是否选中了文本,或将光标置于需要修改的段落中。
  4. 打开浏览器控制台(F12),查看是否有报错信息。
  5. 确认没有其他软件(如显卡驱动、输入法)占用了 Ctrl + Alt + 数字 快捷键。

Q: 可以修改快捷键组合吗?

A:
可以。在脚本代码中找到 if (e.ctrlKey && e.altKey) 这一行:

  • 若想改为 Ctrl + Shift,则修改为 if (e.ctrlKey && e.shiftKey)
  • 若想修改数字键映射,修改 keyMap 对象即可。

Q: 为什么有时候切换不成功?

A:
写作猫的编辑器是基于富文本或特定框架实现的,某些情况下(如全选、跨段落选择)可能不支持批量样式修改。建议逐段或小范围选中后尝试。此外,确保写作猫页面已完全加载,工具栏按钮已渲染完毕。

Q: 如何开启操作提示音或视觉反馈?

A:
脚本中预留了 showNotification 函数。只需取消注释以下代码即可启用视觉提示:

// 在 targetElement.click(); 之后添加:
showNotification(`已切换到 ${targetElement.textContent.trim()}`);

更新日志

v1.0

  • 🎉 初始版本:实现写作猫标题样式快捷键切换功能
  • 高效映射:支持 Ctrl+Alt+0~4 快速切换正文及四级标题
  • 🎯 精准定位:基于 data-value 属性精准匹配编辑器内部元素
  • 🛡️ 无侵入设计:静默运行,不干扰原有界面和功能
  • 🔧 可扩展架构:代码结构清晰,便于后续添加更多样式支持

免责声明

本脚本仅供学习交流使用,请勿用于商业用途。脚本仅模拟人工点击操作,未修改写作猫的任何核心功能和页面结构,使用脚本产生的一切后果由使用者自行承担。

反馈与支持

如果您在使用过程中遇到问题或有改进建议,请通过以下方式反馈:

  • 在脚本管理器的脚本评论区留言
  • 提交 Issue 到脚本仓库
  • 反馈写作猫页面结构更新导致的脚本失效问题

温馨提示

  1. 若写作猫更新前端结构(如类名、属性变化),可能导致脚本失效,请关注最新版本
  2. 建议配合鼠标选中文字使用,体验更佳
  3. 不同浏览器对快捷键的拦截策略可能略有差异,如遇冲突请调整浏览器设置
  4. 本脚本适用于提升长期写作排版效率,建议熟记快捷键以形成肌肉记忆