Closed Moyf closed 7 months ago
Easy Typing 真的非常特别好用!!感谢开发!!!
在提这个 FR 之前已经自己调查过一波了,试了四五个插件,都满足不了需求,所以来询问一下。 这个功能 可能 会有点小众,但是如果支持了的话能做非常非常多的事!
能不能支持「输入特定字符后,(删除字符并)执行 Command」的功能?
举个例子,比如我想插入当前的时间,我可以用 Templater 插件写一个 <% tp.date.now() %> 然后应用这个模板。
但是,不管是「按快捷键」还是「打开命令选框后选择模板」都有它们的劣势。 于是就想到了这个插件的自定义转换规则:
目前它是能判断指定字符,然后替换成别的字符——那有没有可能把后续行为改成执行某项指令? 这样一来,就可以通过输入 -date| 来快速调用指定模板,并转换成实际的日期了。
-date|
会有一定的风险,所以可以做成默认关闭的额外开关
脑补了一下像是这个样子:
之前为了这个需求找了很多相关插件,有一个叫 Inline Scripts 的可以运行 JS 代码。
像是调用 app.commands.executeCommandById('obsidian-hotkeys-for-templates:templater:command/代码粘贴 Code paste.md'); 就可以执行对应的 Command,应用指定模板; 但是这个插件的输入必须是 「前缀+关键字+后缀」 这样的形式,感觉不如 EasyTyping 的字符检测来得方便。
app.commands.executeCommandById('obsidian-hotkeys-for-templates:templater:command/代码粘贴 Code paste.md');
然后像 QuickAdd 也可以运行指令/用户脚本:
但还是同样的问题:触发太麻烦了。
绕了一大圈最后还是觉得 Easy Typing 的方式最方便,在输入过程中无缝触发也最为优雅。 所以来请求一下这个特性,感激不尽 🙏🏻
自己过来补充一句,解决了! 万万没想到之前翻了一大堆 Text 和 Command 相关的插件,最后是在 Latex Suite 搞定的这个需求……
那边的替换可以调用 JS 代码,这样一来就可以运行其他命令了!
这个 Issue 可以关啦,感谢
Easy Typing 真的非常特别好用!!感谢开发!!!
在提这个 FR 之前已经自己调查过一波了,试了四五个插件,都满足不了需求,所以来询问一下。 这个功能 可能 会有点小众,但是如果支持了的话能做非常非常多的事!
TR;DR
能不能支持「输入特定字符后,(删除字符并)执行 Command」的功能?
需求描述
举个例子,比如我想插入当前的时间,我可以用 Templater 插件写一个 <% tp.date.now() %> 然后应用这个模板。
但是,不管是「按快捷键」还是「打开命令选框后选择模板」都有它们的劣势。 于是就想到了这个插件的自定义转换规则:
目前它是能判断指定字符,然后替换成别的字符——那有没有可能把后续行为改成执行某项指令? 这样一来,就可以通过输入
-date|
来快速调用指定模板,并转换成实际的日期了。会有一定的风险,所以可以做成默认关闭的额外开关
脑补了一下像是这个样子:
可能的实现方法
之前为了这个需求找了很多相关插件,有一个叫 Inline Scripts 的可以运行 JS 代码。
像是调用
app.commands.executeCommandById('obsidian-hotkeys-for-templates:templater:command/代码粘贴 Code paste.md');
就可以执行对应的 Command,应用指定模板; 但是这个插件的输入必须是 「前缀+关键字+后缀」 这样的形式,感觉不如 EasyTyping 的字符检测来得方便。然后像 QuickAdd 也可以运行指令/用户脚本:
但还是同样的问题:触发太麻烦了。
绕了一大圈最后还是觉得 Easy Typing 的方式最方便,在输入过程中无缝触发也最为优雅。 所以来请求一下这个特性,感激不尽 🙏🏻