Tiptap 中的键盘快捷键
Tiptap 提供了合理的默认键盘快捷键。根据您的使用需求,您可能希望将这些快捷键更改为自己喜欢的方式。让我们来看看我们为您定义的快捷键,并展示如何更改它们!
预定义的键盘快捷键
大多数核心扩展都会注册自己的键盘快捷键。根据您使用的扩展组件集,下面列出的快捷键可能并非全部适用于您的编辑器。
基础操作
| 命令 | Windows/Linux | macOS |
|---|---|---|
| 复制 | Control + C | Cmd + C |
| 剪切 | Control + X | Cmd + X |
| 粘贴 | Control + V | Cmd + V |
| 纯文本粘贴 | Control + Shift + V | Cmd + Shift + V |
| 撤销 | Control + Z | Cmd + Z |
| 重做 | Control + Shift + Z | Cmd + Shift + Z |
| 插入换行 | Shift + Enter Control + Enter | Shift + Enter Cmd + Enter |
文字格式
| 命令 | Windows/Linux | macOS |
|---|---|---|
| 加粗 | Control + B | Cmd + B |
| 斜体 | Control + I | Cmd + I |
| 下划线 | Control + U | Cmd + U |
| 删除线 | Control + Shift + S | Cmd + Shift + S |
| 高亮 | Control + Shift + H | Cmd + Shift + H |
| 代码 | Control + E | Cmd + E |
段落格式
| 命令 | Windows/Linux | macOS |
|---|---|---|
| 应用正文样式 | Control + Alt + 0 | Cmd + Alt + 0 |
| 应用标题样式 1 | Control + Alt + 1 | Cmd + Alt + 1 |
| 应用标题样式 2 | Control + Alt + 2 | Cmd + Alt + 2 |
| 应用标题样式 3 | Control + Alt + 3 | Cmd + Alt + 3 |
| 应用标题样式 4 | Control + Alt + 4 | Cmd + Alt + 4 |
| 应用标题样式 5 | Control + Alt + 5 | Cmd + Alt + 5 |
| 应用标题样式 6 | Control + Alt + 6 | Cmd + Alt + 6 |
| 有序列表 | Control + Shift + 7 | Cmd + Shift + 7 |
| 无序列表 | Control + Shift + 8 | Cmd + Shift + 8 |
| 任务列表 | Control + Shift + 9 | Cmd + Shift + 9 |
| 引用 | Control + Shift + B | Cmd + Shift + B |
| 左对齐 | Control + Shift + L | Cmd + Shift + L |
| 居中对齐 | Control + Shift + E | Cmd + Shift + E |
| 右对齐 | Control + Shift + R | Cmd + Shift + R |
| 两端对齐 | Control + Shift + J | Cmd + Shift + J |
| 代码块 | Control + Alt + C | Cmd + Alt + C |
| 下标 | Control + , | Cmd + , |
| 上标 | Control + . | Cmd + . |
文本选择
| 命令 | Windows/Linux | macOS |
|---|---|---|
| 全选 | Control + A | Cmd + A |
| 向左扩展选区一个字符 | Shift + ← | Shift + ← |
| 向右扩展选区一个字符 | Shift + → | Shift + → |
| 向上扩展选区一行 | Shift + ↑ | Shift + ↑ |
| 向下扩展选区一行 | Shift + ↓ | Shift + ↓ |
覆盖键盘快捷键
键盘快捷键可能是诸如 'Shift-Control-Enter' 之类的字符串。按键基于 event.key 中可能出现的字符串,并用 - 连接。这里有一个小工具 keycode.info,它能交互式展示 event.key。
字母键请使用小写字母表示(如果希望包含 Shift 键,则使用大写字母)。可以使用 Space 作为空格 的别名。
修饰键可以以任意顺序给出。Shift、Alt、Control 和 Cmd 都能被识别。对于按住 Shift 键生成的字符,Shift 前缀是隐含的,不应显式添加。
您可以使用 Mod 作为 Cmd(在 macOS 上)和 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(),
// …
],
})