在Typora中使用快捷键设置文本颜色(通过AutoHotkey 2.0)
使用Typora时不能设置文本颜色,总是觉得不方便,于是在网上搜索,发现有个小工具:AutoHotkey,编写脚本后,通过快捷键的方式可以设置Typora的文本颜色。
下载软件
到https://www.autohotkey.com/ 这个网址下载AutoHotkey并安装
脚本实现
网上很多实现方式都是基于AutoHotkey v1.0、v1.1的,AutoHotkey v2.0已经不能兼容运行了,所以查了一下资料,写了一个2.0的脚本。将下面的脚本复制到记事本中,另存为typora.ahk,然后双击加载脚本
#Requires AutoHotkey v2.0
; Typora快捷增加字体颜色
if WinActive("ahk_exe Typora.exe"){
; ctrl+alt+r 红色
^!r::addFontColor("red")
; ctrl+alt+o 橙色
^!o::addFontColor("orange")
; ctrl+alt+y 黄色
^!y::addFontColor("yellow")
; ctrl+alt+g 绿色
^!g::addFontColor("green")
; ctrl+alt+b 蓝色
^!b::addFontColor("blue")
; ctrl+alt+p 紫色
^!p::addFontColor("purple")
}
; 快捷增加字体颜色
addFontColor(color){
SetEnglishIME()
Sleep(200)
clipboard := "" ; 清空剪切板
SendInput "^c" ; 复制
SendInput "<font color='"
SendInput color
SendInput "'>"
SendInput "^v" ; 粘贴
SendInput "</" ; Typora会自动补全标签
}
;---------------------------------------------------------------------o
; 输入法状态获取
; 环境: AutoHotKey 2.0
;---------------------------------------------------------------------o
isChineseIME(WinTitle:="A")
{
try {
hWnd := WinGetID(WinTitle)
} Catch(error) {
; ^Esc 开始菜单弹窗,会卡死在找不到当前窗口
return
}
DetectHiddenWindows True
result := SendMessage(
0x283, ; Message : WM_IME_CONTROL
0x005, ; wParam : IMC_GETOPENSTATUS
0, ; lParam : (NoArgs)
, ; Control : (Window)
"ahk_id " DllCall( "imm32\ImmGetDefaultIMEWnd", "Uint", hWnd, "Uint")
)
DetectHiddenWindows False
; 1 非英文状态
; 0 英文状态
return result
}
SetEnglishIME()
{
ret := isChineseIME()
if(ret)
{
SendInput ("{ShiftDown}{ShiftUp}") ; 切换到英文输入状态
}
}
脚本说明
- 上述脚本在AutoHotkey v2.0.5中运行通过
- 脚本中分号后面的内容是注释
- 如果不喜欢上面的快捷键,可以修改脚本,^ 代表Ctrl;+ 代表Shift;! 代表Alt;# 代表Win,如!1代表按下Alt+数字1、^!1代表按下Alt+Shift+数字1
- 如果是中文输入状态,按下快捷键后脚本会切换到英文输入状态(在中文输入状态显示内容会不对)。只使用Alt键+字母或数字不能正常触发,会切换到Typora的菜单栏,所以脚本中用了Ctrl+Alt,如果不想使用Ctrl键,在按快捷键前请手动切换到英文输入状态
使用说明
- 每次开机后都要启动脚本,确保脚本在后台运行
- Typora打开文档后,选中内容然后按下脚本中的快捷键即可
参考资料
AutoHotKey v2.0 在 Typora 中的应用_I凝冰舞I的博客-CSDN博客
https://blog.csdn.net/u011041411/article/details/128479959
—————————————————————————————————————
感谢阅读,欢迎打赏。原创文章,未经允许不得转载。特别鄙视转载不注明出处者!
感谢阅读,欢迎打赏。原创文章,未经允许不得转载。特别鄙视转载不注明出处者!