遇到的问题
Ob 全局搜索,点击想要的文档名会在对应文档高亮所有查找结果,类似笔记中查找替换“选择全部”的效果,但鼠标一点击高亮就没了。
预期的效果
触发查找结果高亮后,在编辑时一直保持高亮,通过命令/快捷键或其他方式退出高亮。
也不一定要高亮,别的样式也行。
已尝试的解决方案
已测试过以下插件,均是鼠标一点击高亮就没了。
Ob 全局搜索,点击想要的文档名会在对应文档高亮所有查找结果,类似笔记中查找替换“选择全部”的效果,但鼠标一点击高亮就没了。
触发查找结果高亮后,在编辑时一直保持高亮,通过命令/快捷键或其他方式退出高亮。
也不一定要高亮,别的样式也行。
已测试过以下插件,均是鼠标一点击高亮就没了。
借助 Dynamic Highlight 插件变通解决。
基本配置参 单插件+CSS 管理连续空格
和 QuickAdd JS & Templater JS 简介及相互修改“QuickAdd Capture 加载内部代码”。
插件配置名称:T1
。启用正则。
CSS 代码:
.T1 {text-decoration: underline dashed red;}
const fs = require('fs'), getFC = file=> app.metadataCache.getFileCache(file)
, DH = func=> { const plugin = 'obsidian-dynamic-highlights'
, path = `${app.vault.adapter.basePath}/.obsidian/plugins/obsidian-dynamic-highlights/data.json`
fs.readFile(path, 'utf8', (err, data)=> { if (err) throw err; let obj = JSON.parse(data); func(obj)
fs.writeFile(path, JSON.stringify(obj, null, 2), 'utf8', err=> { if (err) throw err })
app.plugins.disablePlugin(plugin); app.plugins.enablePlugin(plugin) })
}, cls = 'T1', str = getFC(app.workspace.getActiveFile()).frontmatter?.query.join('|') || app.workspace.activeEditor.editor.getSelection()
DH(obj=> { if (obj.staticHighlighter.queries[cls].query == '[]' && !str) return; obj.staticHighlighter.queries[cls].query = str || '[]' })
检测划选内容或属性类型为列表、键名为 query
的 YAML 值。