Typora 设置字体上色快捷键
1. 安装AutoHotKey
AutoHotkey
是一种 免费 和 开源 的微软Windows自定义脚本语言,最初旨在 提供简单的键盘快捷键或热键 , 快速创建宏和软件自动化 。
基于成熟的做法,本脚本也采用 AutoHotKey
实现。 AutoHotkey
的使用步骤如下:
-
下载软件:AutoHotKey
-
安装软件
-
创建脚本:新建后缀
.ahk
文件,然后编辑文件,并编写代码。 -
使用
AutoHotkey
编译代码变成exe
可执行文件,运行。
下面按照该步骤介绍如何部署本脚本。
2. 部署代码
参考网上其它代码,本脚本进行了改进,主要是不再使用 alt+1~7
来实现选色,而是通过 单按键循环的方式切换文本颜色 ,极大的 提高了效率 。所有代码如下:
; Typora
; 快捷增加字体颜色
AutoTrim, Off ; 关闭忽略空格和tab
#IfWinActive ahk_exe Typora.exe ; 设定在Typora软件被选中时检测
{
; alt+1 循环选色,行内文字
!1::timerHandler(1)
; alt+` 循环选色,段落居中
!`::timerHandler(2)
; alt+2 强调
!2::addEnhance()
; alt+3 强调
!3::addEnhance2()
; alt+w 添加版权说明
!w::addCopyRight()
}
addEnhance(){
clipboard := "" ; 清空剪切板
Send ^c ; 复制
InputText = %clipboard%
clipboard = %A_Space%``%InputText%``%A_Space%
Sleep 50
Send ^v
}
addEnhance2(){
clipboard := "" ; 清空剪切板
Send ^c ; 复制
InputText = %clipboard%
clipboard = %A_Space%==%InputText%==%A_Space%
Sleep 50
Send ^v
}
; 添加版权说明
addCopyRight(){
clipboard := "" ; 清空剪切板
; 分割线
SendInput ---
Send {Enter}
; 版权说明
clipboard = <center><b> <font face='楷体' size=4, color=red> <br/> 如有疑问或错误,欢迎和我私信交流指正。<br/> 版权所有,未经授权,请勿转载! <br/> </font> <font face='Times' size=3, color=gray> Copyright © %A_Year%.%A_Mon% by Mr.Idleman. All rights reserved. </font> </center></b> <br/>
Send ^v
Sleep 200
Send `n`n
; 分割线
SendInput ---
Sleep 200
Send {Enter}
}
; 每次按下刷新定时任务,如果松下alt超过一定时间就退出
timerHandler(flag){
SetTimer, Check, -1000 ; 在 1000 毫秒后检测.
addFontColor(flag)
}
Check:
if(!GetKeyState("Alt", "P")){
addFontColor(0)
}
else{
SetTimer, Check, -1000
}
; 快捷增加字体颜色
addFontColor(flag){
; 设置循环选色数量和颜色类型
color_num = 9
colors := ["black", "red", "SEAGREEN", "blue", "DODGERBLUE", "DARKORANGE", "cyan", "purple", "ORCHID"]
static index := 0
static InputText := -1
if (!flag){
index := 0
clipboard := "" ; 清空剪切板
InputText = -1
return
}
else{
index += 1
if (InputText == -1){
clipboard := "" ; 清空剪切板
Send ^c ; 复制
InputText = %clipboard%
}
else{
Send ^z ; 撤销
if(flag==2){
Send ^z ; 多撤销一次,取消回车
}
}
}
; 颜色赋值
color := colors[index]
if(index==color_num){
index = 0
}
Sleep 50
if (flag==1){
clipboard = %A_Space%<b><font color='%color%' size=3 face="">%InputText%</font></b>%A_Space% ; 组合赋值到剪切板
}
else if(flag==2){
clipboard = %A_Space%<center> <b> <font color='%color%' size=5 face=""> %InputText% </font> </b> </center>%A_Space%<br\>
}
SendInput ^v ; 粘贴
Sleep 50
if (flag==2){ ; 为了居中显示能够自动渲染,增加一个回车
SendInput `n
}
}
先具体介绍如何部署代码:
新建 Typora_color.ahk
文件,复制代码并保存文件:
在桌面右键选择 Compile Script
,生成 exe
文件:
3. 使用脚本
双击运行 exe
文件,当看到任务栏出现 ahk
图标时说明已经运行:
打开Typora,输入快捷键即可使用。
快捷键Alt+`: 文本段落居中并改变颜色 , 每按下一次变换一种颜色 :
可以看出,我们按下Alt+`的同时,程序自动输入了包括复制粘贴在内的多个快捷键,帮我们修改了输入。
快捷键Alt+1: 文本直接改变颜色 , 每按下一次变换一种颜色 :
快捷键Alt+2: 选中的文本 引用
:
快捷键Alt+3: 选中的文本 强调 :
快捷键Alt+w: 添加版权说明 :
写在最后
上面的脚本热键还可以修改,换色的操作大概逻辑如下:
所有热键都可以自己修改,也可以在此基础上增加自己的功能,详情请看参考文献内的 AutoHotkey语法说明
:概念和约定 | AutoHotkey。
参考文献
1:AutoHotkey - Wikipedia
2:Typora修改字体颜色快捷键设置_typora颜色快捷键_RayBreslin的博客-CSDN博客
3:typora里面如何快捷改变字体颜色? - 知乎
4:概念和约定 | AutoHotkey
如有疑问或错误,欢迎和我私信交流指正。
版权所有,未经授权,请勿转载!
Copyright © 2023.05 by Mr.Idleman. All rights reserved.