February 2, 2024 | p.程式 | # Notepad++ # Regex
本筆記整理自此噗
圖示說明何謂Markdown的目錄列表
關鍵就是這一串regex
(?-s)^#{1,6}\x20(\S.*$)"/
我的正規表達式能力…只有看了一支20分鐘教學影片的程度而已…
但目前測試下來,應該是可用的,如果有路人知道如何改進也歡迎提供範例
我的Notepad++(簡稱NPP)版本為8.5.8,64位元
(注意,7或更舊版本可能不適用此方法)
操作步驟
- 先確定自己的NPP含有Markdown preinstalled dark mode (其他Markdown高亮也行,以下操作只要針對檔案名稱去改變)
- 至\Program Files\NotePad++,複製整個functionList資料夾
- 將資料夾貼上User\AppData\Roaming\Notepad++
- 在functionList資料夾中找到overrideMap.xml,在前貼上圖中白線圈選字:
- 在functionList資料夾內創建:markdown.xml,並貼上下圖的全文:
- 打開需要編輯的.md檔 -> 檢視 -> 函式清單,就可以看到目錄表了
代碼如下
<association id= "markdown.xml" userDefinedLangName="Markdown (preinstalled dark mode)"/>
<?xml version="1.0" encoding="UTF-8"?>
<NotepadPlus>
<functionList>
<parser displayName="Markdown (preinstalled dark mode)"
id="Markdown (preinstalled dark mode)"
commentExpr="">
<function mainExpr="(?-s)^#{1,6}\x20(\S.*$)"/>
</parser>
</functionList>
</NotepadPlus>
參考來源
主要是參考這個討論串:can i use function list in Notepad++ 7.9.5?
之所以沒使用這串討論提供的範例,是因為經個人測試後發現有數個問題..
…太複雜的表達式我看不懂,無法debug,只好自己整條重寫
我寫得鐵定很陽春、漏了很多東西沒注意到,但總之…目前從配對結果上還看不出問題在哪
為何不使用其他軟件寫筆記?
現在已經有不少對Markdown支援度更好的文字編輯器(Obsidian, Zettlr, Joplin…),但我還是喜歡簡便的Notepad++,因為開起來就是快又穩定。整頓了一會,目前看起來還算順眼
(2024年一月)
(2024年二月)
其實我也很喜歡Sublime Text,開起來也超快,介面簡單漂亮,對Markdown支援度更好,中文字體渲染得也比NPP清晰。但偏偏它不支援中文wrap……查過有沒有解決辦法,目前看到最相關的討論:Curly brackets causing unwanted line wrapping in custom syntax?
結論:要嘛捨棄Markdown、套用討論提出的方法(很陽春,和無高亮純文字沒啥兩樣),要嘛自己重寫整個Markdown的syntax…只能放棄
…解決這件事後終於可以從google keep搬家了 T_T
常常寫筆記寫到找不到段落在哪,要不就是連筆記都不曉得被放在哪裡(google文件後遺症),學了Markdown&雲端硬碟建立資料夾放md檔以後才總算得救