有时候在查看文档的时候,使用快捷键有一些麻烦,便用了下面的 ahk 脚本,可以实现在 win 思源笔记应用内:
- 鼠标中键单击合适的位置,可以聚焦(即模拟 ctrl+ 左键)
- 鼠标中键双击文档标题及以上的区域,可以后退(即模拟 ctrl+[)
这能带来什么好处呢:第一,在双链的跳转漫游更加方便了,尤其在不使用键盘就不能跳转的地方(例如弹出窗想打开文档、反链面板想打开文档、标签查询页面想打开文档)。第二,对于大纲笔记选手,聚焦更方便了。
为何要双击后退:依然是为了方便快速在笔记间跳转、方便聚焦后返回。
为何不使用 js 代码:不懂 js,另外感觉主题外挂 js 的一些效果效率比较低,操作没有那么流畅,有大佬能实现的话也更好啦
注意内容:
- 若没有安装 ahk,可以直接使用导出的 exe,可以免安装 ahk 本体
- 这个 ahk 比较简单,两种按键映射在思源笔记任意位置都是触发的,所以不能用中键关闭标签页了,这种使用方法类似 logseq,所以弱化了对标签页的重视。搭配有折叠列表自动展开特性的主题,使用体验更佳,例如 Savor,可以在一定程度上模拟 logseq 类型大纲笔记的体验
- 双击时,单击对应的按键映射依然会触发一次,所以在编辑器中双击的话,有可能先聚焦、再返回,所以只能在文档标题及以上区域双击才能正常返回
- 该脚本只会在思源笔记窗口活动时工作,所以在伺服的网页中是无效的,另外如果目前活动的窗口为思源,中键点击其他程序窗口依然会被映射(例如不能直接一次单击中键关闭浏览器标签,需要单击让活动的窗口切换为其他程序之后才会暂停映射,这个相信用过老版本 windows 的知道是怎么一回事,影响不大)
举例:
ahk 代码:
#IfWinActive ahk_exe SiYuan.exe
;限定在思源笔记窗口内
MButton::
Loop
{
sleep, 20
state:=GetKeyState("MButton","P")
if(state=0)
{
break
}
if(A_TimeSinceThisHotkey>400)
{
break
}
}
if(state=0) ;短按
{
if (A_PriorHotkey != "MButton" or A_TimeSincePriorHotkey > 400)
{
count:=1
Send ^{LButton}
;单击
}
else
{
count++
if(count=2)
{
;双击,单击时的代码仍被执行一次
Send ^{[}
}
}
}
return
#IfWinActive
免 ahk 本体的 exe 文件:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于