遇到的问题
Ob 全局搜索,点击想要的文档名会在对应文档高亮所有查找结果,类似笔记中查找替换“选择全部”的效果,但鼠标一点击高亮就没了。
预期的效果
触发查找结果高亮后,在编辑时一直保持高亮,通过命令/快捷键或其他方式退出高亮。
也不一定要高亮,别的样式也行。
Ob 全局搜索,点击想要的文档名会在对应文档高亮所有查找结果,类似笔记中查找替换“选择全部”的效果,但鼠标一点击高亮就没了。
触发查找结果高亮后,在编辑时一直保持高亮,通过命令/快捷键或其他方式退出高亮。
也不一定要高亮,别的样式也行。
更新:我把自己的需求融合到一个插件里了,欢迎围观 240812 更新
原帖:借助 Dynamic Highlights 插件变通解决。
基本配置参 单插件+CSS 管理连续空格
和 QuickAdd JS & Templater JS 简介及相互修改“QuickAdd Capture 加载内部代码”。
插件配置名称:T1
。启用正则。
CSS 代码:
.T1 {text-decoration: underline dashed red;}
const { basePath, fs } = app.vault.adapter
, getFC = file=> app.metadataCache.getFileCache(file)
, DH = fun=> {
const id = 'obsidian-dynamic-highlights'
, path = `${basePath}/.obsidian/plugins/${id}/data.json`
fs.readFile(path, 'utf8', (err, data)=> {
if (err) throw err
const obj = JSON.parse(data); fun(obj)
const now = JSON.stringify(obj, null, 2)
fs.writeFile(path, now, 'utf8', err=> { if (err) throw err })
app.plugins.disablePlugin(id); app.plugins.enablePlugin(id)
})
}
, { file, editor } = app.workspace.getActiveFileView()
, str = getFC(file).frontmatter?.query.join('|') || editor.getSelection()
, cls = 'T1'
DH(obj=> {
if (obj.staticHighlighter.queries[cls].query == '[]' && !str) return
obj.staticHighlighter.queries[cls].query = str || '[]'
})
检测划选内容或属性类型为列表、键名为 query
的 YAML 值。
翻到了你的Modified for Chinese这篇,但是把你修改过的main.js覆盖原文件后重启Obsidian还是不行。对比了一下,只是改了两处minSelectionLength值为1,但奇怪我这里为啥不生效……
另外,光标所在词的高亮也有这个问题,三个汉字以上的才生效,需要把哪个值改成1个或者2呢?
你修改过
Modified for Chinese 不是我修改的。
好吧,那你有试过吗?能试试看你那里能生效不?
解决了,删除插件后再手动安装,终于生效了