Vnote其实本身支持自定义快捷键(文件—自定义快捷键),但是我想用win
键作为快捷键之一,于是问了下开发者,得知win
键符号是Meta
,但是直接使用Meta+Z
没作用。
于是想到用AHK的按键替换:#z::^t
,表示win+z
替换为Ctrl+t
,但是不知为何没效果。
几近放弃时,偶然测试win+z
替换为win+Ctrl+t
,竟然成功了!一阵窃喜,赶紧记录下。
- ahk代码:
win+z
替换为win+Ctrl+t
#z::Send, #^t
另存为remap_win+Z_to_win+ctrl+t.ahk,注意一定要用英文名,否则下面的vbs会报错。
- Vnote编辑快捷键(文件—自定义快捷键)
EditNote=Meta+Ctrl+T
- 写一个vbs,当vnote启动时ahk启动,当vnote退出时ahk脚本退出。
'先运行ahk脚本,3s后再运行vnote,然后关闭vnote后ahk脚本也退出。
Dim vnotekeys
Set vnotekeys = WScript.CreateObject("WScript.Shell")
vnotekeys.run """D:\Greenapps\AHK\remap_win+Z_to_win+ctrl+t.ahk""", 1, false
'50毫秒后运行vnote。
WScript.Sleep(50)
'true表示等到vnote关闭后再进行下面的命令(即结束ahk脚本)。
vnotekeys.run """D:\Greenapps\VNote_win_X64_portable\VNote\VNote.exe""", 1, true
vnotekeys.Run "taskkill /f /im AutoHotkey.exe",0 , false
Set vnotekeys = NoThing
WScript.quit
注意编码格式为:UTF-8无BOM格式。
使用时只要运行这个vbs即可,然后就可以愉快地写markdown了:)
后来查了下资料,发现ahk脚本里少了send
,其实第一次的脚本写成#z::Send, ^t
就成功了。
另外希望开发者@tamlok能开发一个Vnote外部程序插件,可以放在【文件—外部程序】里,功能就是:启动Vnote时,自动运行添加的外部程序;当点击X
退出Vnote时,自动结束外部程序。这样就不用vbs了。
文件—外部程序,可以设置一个弹窗,类似下图:
最后Vnote真棒!感谢开发者付出的努力!