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 + EnterCtrl + Enter |
Shift + EnterCmd + 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(),
// …
],
});
现在你可以根据自己的需求替换这些快捷键了。
抠丁客
