AHK与Vnote快捷键的绝佳配合

Vnote其实本身支持自定义快捷键(文件—自定义快捷键),但是我想用win键作为快捷键之一,于是问了下开发者,得知win键符号是Meta,但是直接使用Meta+Z没作用。
于是想到用AHK的按键替换:#z::^t ,表示win+z替换为Ctrl+t,但是不知为何没效果。

几近放弃时,偶然测试win+z替换为win+Ctrl+t,竟然成功了!一阵窃喜,赶紧记录下。

  1. ahk代码:win+z替换为win+Ctrl+t
#z::Send, #^t

另存为remap_win+Z_to_win+ctrl+t.ahk,注意一定要用英文名,否则下面的vbs会报错。

  1. Vnote编辑快捷键(文件—自定义快捷键)
EditNote=Meta+Ctrl+T
  1. 写一个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了。
文件—外部程序,可以设置一个弹窗,类似下图:

2017-11-26_213344.png

最后Vnote真棒!感谢开发者付出的努力!

你可能感兴趣的:(AHK与Vnote快捷键的绝佳配合)