For everyone — 设置
打开 Obsidian 的 设置 → 选择社区插件 Universal Cursor Hotkeys → 打开上方标签 For everyone。
设置页面大致由 Hotkey settings(快捷键设置)、Key upgrades(按键升级) 和 Behavior options(行为选项) 三部分构成。
通常插件的快捷键分配会在 Obsidian 标准的快捷键设置页面中进行,但本插件可以在插件设置页面内确认快捷键的分配状态,并一次性应用推荐设置。
Hotkey settings(快捷键设置)
这里共有 1 个命令分组(→说明)和 Displaced commands(→说明),合计 2 个区块。
Apply recommended 按钮
命令分组 Add cursor 的标题右侧有一个 Apply recommended 按钮。点击后会一次性分配该命令分组的推荐快捷键。
如果是刚安装完毕的 Obsidian,可以直接点击 Apply recommended。macOS 下初始状态不存在快捷键冲突。在 Windows 下,与推荐快捷键重叠的默认快捷键(例如命令面板的 Ctrl + P)会被归入 Displaced commands,但这些都可以通过 Restore 恢复原状。(→Displaced commands 说明)
如果你已经自行自定义过快捷键,那么对于仍保留其他快捷键的命令(如 🔵Used 等),被移除的快捷键不会出现在 Displaced commands 中,也无法用 Restore 恢复。如果担心这一点,请在点击前先确认各行的 Status。(→Status 说明)
一次性分配的对象,是该命令分组中尚未分配任何快捷键的命令(→有例外)。已经分配了快捷键的命令(✅Set、🟢Custom)以及没有推荐快捷键的命令(—)不受影响。 如果推荐快捷键正被其他命令占用(🔵Used、🟡Used,或推荐快捷键同时分配给多个其他命令的 🔴Conflict),则会从那些命令中移除推荐快捷键,改为分配给这里的命令。失去所有快捷键的命令会被归入 Displaced commands。
页面说明
每个命令分组都是一个包含以下项目的表格。
| 项目 | 说明 |
|---|---|
| Command | 本插件提供的命令名称。与 Obsidian 标准快捷键设置页面中显示的名称相同。 |
| Recommended Hotkey | Emacs 风格的最低限度推荐快捷键。 表示 Apply recommended 将会分配的内容。 |
| Current Hotkey | 当前已分配的快捷键。如果数量较多,可能会省略部分显示。要查看全部内容,请点击按键标签。 |
| Status | 表示该命令的快捷键分配状态。(后述) |
| ▶Individual | 显示用于逐项调整单个命令的操作按钮。(后述) 请点击 ▶Individual 使该列显示调整用的按钮。(默认不显示) |
点击命令名称或按键标签,会跳转到 Obsidian 标准快捷键设置页面,并以该命令名称或按键筛选。
命令分组
本插件提供的命令和表格相关命令,被分为以下分组显示。
| 命令分组 | 命令数 (其中含推荐快捷键数) | 说明 |
|---|---|---|
| Add cursor | 2 (2) | 用于添加多光标的快捷键。 Obsidian 标准也有类似命令,但新增光标的位置有时不稳定,在表格内有时还无法使用,因此本插件提供了替代命令。 |
命令分组名称链接到命令参考中对应的部分。各命令及其推荐快捷键请参阅命令参考。
Status 一览
| 状态 | 含义 | Individual 按钮 |
|---|---|---|
| ✅Set | 已分配推荐快捷键。 | Open → |
| 🟢Custom | 已分配非推荐快捷键,且不存在冲突。 | Open → |
| 🔵Available | 推荐快捷键尚未分配,且未被其他命令使用,可以安全分配。 | Set |
| 🔵Used | 推荐快捷键当前正被其他命令使用。 分配推荐快捷键会从该命令中移除此快捷键。(Override 按钮) 由于该命令还分配了其他快捷键,移除后该命令仍可正常启动。 | Override |
| 🟡Used | 推荐快捷键当前正被其他命令使用。 分配推荐快捷键会从该命令中移除此快捷键。(Override 按钮) 由于该命令仅分配了这一个推荐快捷键,移除后该命令将失去可用于启动的快捷键。 (分配后,该命令会被归入 Displaced commands) | Override |
| 🔴Conflict | 处于冲突状态。 有以下两种情况: (1) 该命令已分配快捷键,但同一快捷键同时也分配给了其他命令。 (2) 该命令尚未分配快捷键,但推荐快捷键同时分配给了多个其他命令。 通过 Override 按钮分配推荐快捷键后,失去所有快捷键的命令会被归入 Displaced commands。 | (1) Open → 或 (2) Override |
| — | 没有推荐快捷键,且该命令尚未分配任何快捷键时,显示为 "—"。 | Open → |
Individual 按钮一览
根据快捷键的分配状态,会显示以下 3 种按钮之一,用于执行分配或确认状态。
| Individual 按钮 | 说明 |
|---|---|
| Set | 推荐快捷键处于空闲状态。 点击 Set 按钮即可分配推荐快捷键。 |
| Override | 推荐快捷键当前分配给了其他命令,占用中的命令名会以内联形式显示。 点击 Override 按钮,会从占用中的命令上移除推荐快捷键,并分配给这个命令。 失去所有快捷键的命令会被归入 Displaced commands。(🟡Used 必定属于这种情况) |
| Open → | 跳转到 Obsidian 标准快捷键设置页面,并以该命令名称筛选。 |
Displaced commands(被移除快捷键的命令)
这是因应用推荐快捷键而失去了唯一一个快捷键的命令列表。每一项都有用于通过 Obsidian 标准快捷键设置页面重新分配快捷键的 Assign 按钮,以及撤销推荐快捷键的分配、将按键归还给原命令的 Restore 按钮。
| 项目 | 说明 |
|---|---|
| Command | 因应用推荐快捷键而失去快捷键的命令名称。点击会打开以该命令名称筛选的 Obsidian 标准快捷键设置页面。 |
| Assign 按钮 | 与上面相同,打开快捷键设置页面,用于重新分配新的快捷键。 |
| Hotkey | 因应用推荐快捷键而失去的快捷键。点击会打开以该按键筛选的 Obsidian 标准快捷键设置页面。 |
| Displaced by | 导致 Command 列中的命令被归入 Displaced commands 的原因,即本插件的那个命令名称。点击会打开以该命令名称筛选的 Obsidian 标准快捷键设置页面。 原本是 “Command 的命令 → Hotkey 按键”, 现在变成 “Displaced by 的命令 → Hotkey 按键” “Command 的命令 → 解除分配”, 也就是 Displaced by 的命令夺走了 Hotkey。 |
| Restore 按钮 | 当前状态是 “Displaced by 的命令 → Hotkey 按键”,点击后会将其还原为 “Command 的命令 → Hotkey 按键” “Displaced by 的命令 → 解除分配”, 也就是恢复到 Hotkey 被夺走之前的原始状态。 |
通过这个 Restore 按钮,即使在使用 Apply recommended 一次性分配之后,也可以相对安全地恢复原来的快捷键状态。
当 Command 列中的命令通过 Assign 按钮、Restore 按钮或标准快捷键设置页面被分配了快捷键后,会从该表格中消失。这是基于 “只要该命令能够通过某个快捷键启动就没有问题” 的设计理念,并不意味着 “必须分配快捷键才应该让它从表格中消失”。 对于可以用鼠标操作完成、或使用频率较低、从命令面板执行就已足够的命令,让它继续留在 Displaced commands 中也是可以的。
Key upgrades(按键升级)
Apply all 按钮
将这之下的所有设置开关设为 ON。(Upgrade navigation basics × 8 个、Upgrade word commands × 4 个、Behavior options × 6 个)
不过,存在冲突可能性的项目(🔴Used 状态)会被跳过。
Upgrade navigation basics(基础操作升级)
各个按键设置都是简单的 ON/OFF 开关。各按键设置的具体行为变化,请参阅 按键升级(基础操作升级)。
开启后,该按键会被添加到对应命令的快捷键中。如果该命令已经分配了快捷键,则会保留原有分配,并额外追加这个按键。
关闭后,只会移除该按键的分配,其他快捷键分配不受影响。
各设置行的说明
| 状态 | 开关 | 含义 |
|---|---|---|
| (无显示) | OFF | 该按键保持标准行为,未被更改。处于可分配升级行为的状态。 |
| (无显示) | ON | 该按键已分配给本插件的升级行为。 |
| 🔴Used | OFF (disable) | 该按键已被其他命令占用,因此无法再额外分配给这个命令。(无法设为 ON) 点击按键标签或状态即可跳转到 Obsidian 的快捷键设置页面,请在那里确认当前占用该按键的命令。 |
| 🔴Conflict | ON | 这个按键同时分配了升级命令和其他命令,目前已经处于冲突状态。 点击按键标签或状态,跳转到快捷键设置页面,整理冲突状态。另外,将开关设为 OFF 后,状态会变为 🔴Used,此时无法直接设为 ON。 |
Upgrade word commands(单词操作升级)
各个按键设置都是简单的 ON/OFF 开关。各按键设置的具体行为变化,请参阅 按键升级(单词操作升级)。
各设置行的说明
Behavior options(行为选项)
用于调整各种行为的开关按钮。
For everyone、Vim mode、macOS (Emacs) style 中名称相同的设置项是联动的:在其中一处设为 ON(或 OFF),另一处也会同步变为 ON(或 OFF)。
| 设置 | 默认值 | 说明 |
|---|---|---|
| Smart home (standard) | ON | ON: 按下 Home 键会跳过行首的 Markdown 语法(列表、编号列表、复选框、缩进、引用),移动到正文文本的开头。与 Windows 的 Home / macOS 的 command + ← 行为相同。OFF: Home 键不考虑 Markdown 语法,直接移动到行首。与 macOS/Emacs 的 Ctrl + A 行为相同。 |
| Smart home (advanced) | ON | ON: 除 Smart home (standard) 的行为外,还会额外考虑标题(#)、脚注([^1]:)、标注类型标记([!type])。仅当 Smart home (standard) 为 ON 时才能开启。OFF: 不考虑标题行、脚注、标注。(与普通的 Home 相同,移动到逻辑行首) |
| Visual line movement | ON | ON: 在自动换行的长行中按下 Home/End 时,第一步会先移动到显示行的开头/末尾。OFF: 即使该行会自动换行, Home/End 也不考虑显示行。Home 移动到行首(根据 Smart home 设置,为逻辑行首或正文文本开头),End 移动到逻辑行末尾。 |
| Cross-row navigation | ON | 调整表格内 Home/End 的行为。ON: 在最左侧单元格开头按下 Home,会移动到上一行最右侧单元格的末尾。同样,在最右侧单元格末尾按下 End,会移动到下一行最左侧单元格的开头。如果没有对应的行,则会脱出表格。 (相当于 ←/→ 的行为) OFF: Home/End 不会跨表格行移动,会停留在最左侧单元格开头或最右侧单元格末尾。 |
| Double-click word select | ON | 调整鼠标双击进行单词选择的行为。 ON: 基于词典的分词,鼠标双击时会按中文单词为单位选中范围。 双击后拖动,选中范围会按单词单位扩展。 OFF: Obsidian 标准的双击行为。中文不区分词语边界,会作为一整段选中。 |
| Table-aware Source Mode editing | ON | ON: 在源代码模式的表格内,HOME / END、Kill line、Kill region / Copy region、Yank、Delete char、Transpose chars、Uppercase / Lowercase / Capitalize word、Kill word left / right、Select all 等命令都会考虑表格结构(| / <br>)。OFF: 将表格行作为纯文本处理,这些命令完全不考虑表格结构。 |