关于 dedash
dedash 是用于清理用户指定范围内破折号的编辑技能。它会区分承担句子分隔作用的破折号与连字符、范围符号及刻意保留的标记,并汇报修改结果。
主要功能
- 01按句中作用查找破折号类标记
- 02根据语法功能替换标点
- 03保留连字符、范围符号和代码
- 04复读修改并汇报数量
适用场景
- 01编辑选定段落
- 02清理文件中的标点
- 03检查文档目录中的标点
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lilmgenius/ paperthin --skill dedash安装后在 Claude Code 中输入/dedash确认已加载。
详细介绍
移除用户指定范围内的长破折号及代替长破折号的短横线,每次处理一个,保留连字符、范围符号和刻意使用的标记。
目标
将每个不应保留的长破折号替换为该分句实际需要的标点或措辞。查找所有起长破折号作用的符号,无论其具体字符是什么:在页面上,U+2014 以及更长或被挪作他用的相似符号看起来都一样。范围由用户指定:一段文字、字段、文件、选区或目录树。未经询问,不要扩大范围。
工作流程
- 查找:严格按用户指定的范围,逐一找出其中所有起长破折号作用的符号;根据它在句子中的作用判断,而不是根据码位判断:凡是用于引出插入语、同位语、突然转折或缺失连词的符号都算。最常见的是长破折号(U+2014);横线(U+2015)以及双长破折号和三长破折号(U+2E3A、U+2E3B)看起来也一样,因此同样算。连接分句、且可用长破折号的短破折号(U+2013)属于边界情况,符合此情形时算;但表示范围端点(无论是数字还是其他内容)的短破折号应保留(
1990–2020、London–Paris路线)。起其他作用的破折号(如连字符、减号或范围符号)应保留。确实有歧义时,应将其作为判断事项指出,而不是盲目修改。 - 按作用替换:根据每处符号的语法作用分别选择替换方式:
- 插入语:若破折号括起的内容可以从句子中删去,可改用逗号或括号。
- 同位语:若破折号后的内容是对前面名词的改名、定义或扩展,可改用冒号或逗号。
- 突然转折:若破折号标示转向、打断或重新开始,可改用句号、分号或逗号。
- 错误的连词断开:若破折号代替了缺失的“和”“但是”“因为”“所以”或其他实际连词,应改写句子。
- 保持不变:除非用户明确将以下内容纳入范围,且上下文能证明其有误,否则应保持不变:
- 带连字符的复合词、减号和负数
- 范围,如
1-10、1–10或London–Paris;范围符号不是长破折号 - 代码、差异内容、命令输出、标识符、序列化数据、URL、路径、锚点和查询字符串
- 风格化文字中带引号或明显刻意使用的长破折号;此类情况应作为判断事项指出,绝不可盲目修改
- 重读:在原文中重读每个修改过的句子。修正替换造成的不自然节奏、悬空标点、重复空格和连接词缺失。如果句子现在需要补充措辞而不是标点,应以最小幅度改写相关分句。
- 报告:说明检查的范围、找到并更改的符号数量、按作用采用的替换方式,以及任何保留不变或作为判断事项指出的内容。
规则
- 绝不可批量替换。相同的字符在不同分句中可能需要不同标点。
- 清理时绝不可将长破折号替换为连字符。
- 修改时注意编辑安全性:使用 Unicode 安全模式编辑(
PYTHONUTF8=1),逐处替换每个破折号,绝不可全局替换;如果范围内没有此类符号,应报告未发现(MISS),而不是修改附近的标点。 - 保留用户的语气。这项操作只移除用户指定的符号,不应改变用户指定范围之外的文风。
验证
完成前,确认:
- 范围严格限于用户指定的内容。
- 每处替换都根据语法作用分别选择。
- 保留不变的内容未被改动,或已作为判断事项报告。
- 报告包含数量以及任何判断事项。
评论
支持 Markdown