快捷鍵
本頁列出 MDEditor 攔截的所有按鍵組合,以及 hotKey 選項影響的範圍。
組合鍵判定
editorKeydown 把按鍵轉成字串後查表:metaKey 或 ctrlKey 都記為 cmd+,再接 shift+,最後是 event.key 轉小寫。所以 macOS 的 Cmd 與 Windows/Linux 的 Ctrl 行為相同。
格式化快捷鍵(hotKey: true 時)
| 組合鍵 | 方法 |
|---|---|
Cmd/Ctrl+B |
bold() |
Cmd/Ctrl+I |
italic() |
Cmd/Ctrl+Shift+X |
strikethrough() |
Cmd/Ctrl+U |
underline() |
Cmd/Ctrl+M |
marker() |
Cmd/Ctrl+K |
code() |
Cmd/Ctrl+↑ |
sup() |
Cmd/Ctrl+↓ |
sub() |
快捷鍵觸發時事件帶有修飾鍵,因此插入的是 HTML 標籤(如 <b></b>)而不是 Markdown 記號,見 格式化方法。
編輯鍵(一律生效)
| 按鍵 | 動作 |
|---|---|
Cmd/Ctrl+Z |
undo() |
Cmd/Ctrl+Shift+Z |
redo() |
Cmd/Ctrl+A |
selectAll(),只選編輯器內容 |
Cmd/Ctrl+S |
save(),見 內容與檔案 |
Tab |
indent():在游標處插入 4 個空白 |
Cmd/Ctrl+] |
rowIndent():在選取的每一列開頭插入 4 個空白 |
Enter |
wrap():在游標處分割成兩列 |
Backspace |
backspace():刪除選取範圍、前一個字元,或在列首時與上一列合併 |
F5、Cmd/Ctrl+R |
攔截,不重新整理頁面 |
預設行為
- 表中生效的組合鍵都會阻止預設行為,瀏覽器的原生行為(例如
Cmd+B、Cmd+S另存網頁)不會發生 - 未列在表中的按鍵維持瀏覽器預設,由
contentEditable處理 Cmd/Ctrl單獨按下不做任何事F5與Cmd/Ctrl+R只有在焦點位於編輯器時被攔截;要在整頁攔截需設preventRefresh: true
停用格式化快捷鍵
new MDEditor({ id: "editor", hotKey: false });
hotKey: false 只停用上方「格式化快捷鍵」表,編輯鍵仍然有效。被停用的組合不再被攔截,會回到瀏覽器對 contentEditable 的預設行為(例如 Cmd/Ctrl+B 可能由瀏覽器直接套用粗體 DOM),不會經過 NanoMD 的復原紀錄。