> [!TIP] 功能
> 按Ctrl+1~Ctrl+6输出Markdown标题等级一到标题等级六的井字号
Obsidian的Format Hotkeys外挂可以设定标题等级的快捷键,但如果使用其他软件编辑时,要如何让这些快捷键也能生效呢?为达成此目标,撰写了AutoHotkey脚本来解决。
#SingleInstance Force ; 按Ctrl+1~Ctrl+6分别产生Markdown标题井字号 ^1:: ^2:: ^3:: ^4:: ^5:: ^6:: numHashes := SubStr(A_ThisHotkey, 2) ; '^6'->'6' Markdown_title1(numHashes) return Markdown_title1(numHashes) { Send, {Home}{# %numHashes%} {End} } Markdown_title2(numHashes) { Clipboard :="" SendInput {Home} SendInput {SHIFT}+{End} sleep 200 SendInput ^c ClipWait, 1 text := Clipboard ;Msgbox text=%text% ;;pos := RegExMatch(clipboard, "^#{1,6}\s") text := RegExReplace(text, "^#{1,6}\s(.*)", "$1") SendInput {Del} SendInput, {Home}{# %numHashes%} %text%{End} }
1. 重点解说
- A_ThisHotkey存有触发热键的字串,例如按Ctrl+6时,其值为“^6”
- {# %数字%}输出指定数字的井号
- 用系统剪贴簿取得光标所在位置该行内容
- 正则运算式:
- “^#{1,6}\s”匹配1到6个开头是井号且后面是空白的内容
- “(.*)”匹配上述空白后的所有内容,以 $1 代表
- 取出$1的内容后指派给变量text
2. 相关链接
- Regular Expressions (RegEx) – Quick Reference | AutoHotkey
- RegExMatch() – Syntax & Usage | AutoHotkey
- RegExReplace() – Syntax & Usage | AutoHotkey
3. 教学影片
##
想在手机阅读更多教学锦囊资讯?下载【香港硅谷】Android应用 