> [!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應用 