tiptap 快捷键
引言
Tiptap 默认提供了一些合理的快捷键。根据你的应用场景,你可能想要自定义这些快捷键。让我们先看看默认的设置,然后教你如何更改它们!
默认快捷键
核心扩展大多有自己的快捷键注册。根据你使用的扩展集,下面列出的快捷键并非所有都适用于你的编辑器。
基本功能
命令 | Windows/Linux | macOS |
---|---|---|
复制 | Ctrl + C |
Cmd + C |
剪切 | Ctrl + X |
Cmd + X |
粘贴 | Ctrl + V |
Cmd + V |
不带格式粘贴 | Ctrl + Shift + V |
Cmd + Shift + V |
撤销 | Ctrl + Z |
Cmd + Z |
重做 | Ctrl + Shift + Z |
Cmd + Shift + Z |
插入换行 | Shift + Enter Ctrl + Enter |
Shift + Enter Cmd + Enter |
文本格式化
命令 | Windows/Linux | macOS |
---|---|---|
加粗 | Ctrl + B |
Cmd + B |
斜体 | Ctrl + I |
Cmd + I |
下划线 | Ctrl + U |
Cmd + U |
删除线 | Ctrl + Shift + S |
Cmd + Shift + S |
高亮 | Ctrl + Shift + H |
Cmd + Shift + H |
代码 | Ctrl + E |
Cmd + E |
段落格式化
命令 | Windows/Linux | macOS |
---|---|---|
应用正常文本样式 | Ctrl + Alt + 0 |
Cmd + Alt + 0 |
应用一级标题样式 | Ctrl + Alt + 1 |
Cmd + Alt + 1 |
应用二级标题样式 | Ctrl + Alt + 2 |
Cmd + Alt + 2 |
应用三级标题样式 | Ctrl + Alt + 3 |
Cmd + Alt + 3 |
应用四级标题样式 | Ctrl + Alt + 4 |
Cmd + Alt + 4 |
应用五级标题样式 | Ctrl + Alt + 5 |
Cmd + Alt + 5 |
应用六级标题样式 | Ctrl + Alt + 6 |
Cmd + Alt + 6 |
有序列表 | Ctrl + Shift + 7 |
Cmd + Shift + 7 |
无序列表 | Ctrl + Shift + 8 |
Cmd + Shift + 8 |
任务列表 | Ctrl + Shift + 9 |
Cmd + Shift + 9 |
引用块 | Ctrl + Shift + B |
Cmd + Shift + B |
左对齐 | Ctrl + Shift + L |
Cmd + Shift + L |
居中对齐 | Ctrl + Shift + E |
Cmd + Shift + E |
右对齐 | Ctrl + Shift + R |
Cmd + Shift + R |
对齐全页 | Ctrl + Shift + J |
Cmd + Shift + J |
代码块 | Ctrl + Alt + C |
Cmd + Alt + C |
下标 | Ctrl + , |
Cmd + , |
上标 | Ctrl + . |
Cmd + . |
文本选择
命令 | Windows/Linux | macOS |
---|---|---|
选择全部 | Ctrl + A |
Cmd + A |
向左扩展选择一个字符 | Shift + ← |
Shift + ← |
向右扩展选择一个字符 | Shift + → |
Shift + → |
向上扩展选择一行 | Shift + ↑ |
Shift + ↑ |
向下扩展选择一行 | Shift + ↓ |
Shift + ↓ |
选择到文档开头 | Ctrl + Shift + ↑ |
Cmd + Shift + ↑ |
选择到文档末尾 | Ctrl + Shift + ↓ |
Cmd + Shift + ↓ |
更改快捷键
快捷键可以是字符串,如 'Shift-Control-Enter'
。键基于 event.key
字符串,通过 -
连接。有一个叫做 keycode.info 的小工具,可以实时查看 event.key
。
使用小写字母表示字母键(或大写字母表示同时按住 shift 键)。你可以将 Space
作为
的别名。
修饰符可以按任意顺序给出。Shift
、Alt
、Control
和 Cmd
会被识别。对于通过按住 shift 产生的字符,Shift
前缀默认存在,不需要显式添加。
在 Mac 上,你可以用 Mod
代替 Cmd
,其他平台则用 Control
。
这里是如何覆盖现有扩展的快捷键的一个例子:
// 1. 导入扩展
import BulletList from "@tiptap/extension-bullet-list";
// 2. 覆盖快捷键
const CustomBulletList = BulletList.extend({
addKeyboardShortcuts() {
return {
// ↓ 你的新快捷键
"Mod-l": () => this.editor.commands.toggleBulletList(),
};
},
});
// 3. 将自定义扩展添加到编辑器
new Editor({
extensions: [
CustomBulletList(),
// …
],
});
现在你可以根据自己的需求替换这些快捷键了。