[AHK#54] 用AutoHotkey快速輸出Markdown標題井號(Hashes)
2022-8-6 15:5:4 Author: jdev.tw(查看原文) 阅读量:32 收藏

首頁 » AutoHotkey鍵盤工具

[AHK#54] 用AutoHotkey快速輸出Markdown標題井號(Hashes)

> [!TIP] 功能
> 按Ctrl+1Ctrl+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. 相關鏈接

3. 教學影片

##

您可能也會有興趣的類似文章


文章来源: https://jdev.tw/blog/7266/autohotkey-insert-markdown-title-hashes
如有侵权请联系:admin#unsafe.sh