PKMer_Obsidian 插件:Global Search And Replace 给 Obsidian 全库进行文本替换

Obsidian 的默认替换插件只限于单个文本中进行操作,如果你需要全库进行替换,你往往只能用 Vscode 或者其它的文本编辑器来进行,这个不仅不方便,而且很有可能会意外替换掉原来的插件文件。


这是一个从 https://pkmer.cn/pkmer-docs/10-obsidian/obsidian%e7%a4%be%e5%8c%ba%e6%8f%92%e4%bb%b6/obsidian-global-search-and-replace 下的原始话题分离的讨论话题

尝试了一下,不能替换标签,文本能正常替换

试了下感觉替换标签没啥问题 (Windows 版)

这插件是以纯文本对待笔记的, 无论 #tagname 还是 title: my-note 在它看来都是普通文字, 都一样的替换

也许要检查是否勾选了正则替换, 一般场景不必使用

我又试了一下,英文标签没问题,可以替换,中文标签不行,不知道什么原因

试了下没见问题啊, 无论中文, 还是中英混排加嵌套标签都可以替换, 唯一麻烦就是这插件不提供 “批量” 替换

可以考虑试试这几个事:

  • 用 Ob 自带的笔记内查找替换, 对这顽固的 “中文标签” 能起效吗?
  • 使用这插件时, 先只替换该 “中文标签的一部分字”, 能起效吗? 或者至少先定位: 是查找不到, 还是能查找到但替换不了
  • 确保没开正则, 没开大小写敏感

OB自带的可以用,替换没问题
插件查得到,替换不了,只替换一部分中文也不行
不确定有没有开正则和大小写敏感,这两个图标点了没什么反应 :joy:
image

出问题的是win版,安卓版倒是可以正常替换的

总结一下, 仅在Win里出事, 仅在替换中文时出事


不太可能出问题的:

  • 插件基本逻辑: Android是好的, 且这插件好久不更新, 估计Win和安卓都是最新版, 且至少英文单词替换在两平台可用
  • 笔记文件编码: 因为 Ob 自带替换是正常的, 且Win版插件至少能显示它查到了中文字

可能是问题原因的:

  • Win的复杂插件环境: 考虑先禁其他所有插件试试
  • Win的笔记权限: 考虑Win里新造笔记把文本复制进去, 然后替换, 看看是否有效
  • 配合查 console log Ctrl+Shift+i 看对搜索结果条目 “点击替换” 时, 发生了什么

没啥好想法, 有知道咋解决的朋友欢迎提点建议

实在不行就找别的批量替换工具先用着吧,
另外如能提供最小的可复现文本段落, 也许会有帮助