Obsidian 快捷键列表

编辑

名称 快捷键 自定义
插入链接 Ctrl + K
加粗/取消加粗 Ctrl + B
倾斜/取消倾斜 Ctrl + I
删除段落 Ctrl + D
注释/取消注释 Ctrl + /

标签列表

名称 快捷键 自定义
关闭当前标签页 Ctrl + W
新标签页 Ctrl + T
在新标签页中打开光标处链接 Ctrl + Enter
重新打开标签页 Ctrl + Shift + T
转到标签 #1 Ctrl + 1
转到标签 #2 Ctrl + 2
转到标签 #3 Ctrl + 3
转到标签 #4 Ctrl + 4
转到标签 #5 Ctrl + 5
转到标签 #6 Ctrl + 6
转到标签 #7 Ctrl + 7
转到标签 #8 Ctrl + 8
转到上一个标签 Ctrl + Shift + Tab
Ctrl + Page Up
转到下一个标签 Ctrl + Tab
Ctrl + Page Down
转到最后一个标签 Ctrl + 9

快速切换

名称 快捷键 自定义
快速切换: 打开快速切换 Ctrl + O

命令面板

名称 快捷键 自定义
命令面板: 打开命令面板 Ctrl + P

搜索

名称 快捷键 自定义
搜索: 在所有文件中搜索 Ctrl + Shift + F

未分组

名称 快捷键 自定义
保存当前文件 Ctrl + S
编辑文件名 F2
查看帮助 F1
打开光标处的链接 Alt + Enter
打开设置 Ctrl + ,
返回 Ctrl + Alt +
关闭 Ctrl + Shift + W
前进 Ctrl + Alt +
切换编辑/预览视图 Ctrl + E
切换待办事项状态 Ctrl + L
切换实时阅览/源码模式 Alt + S
新建笔记 Ctrl + N
在当前笔记中查找 Ctrl + F
在当前笔记中查找并替换 Ctrl + H
在新窗口中打开光标处链接 Ctrl + Alt + Shift + Enter
在新面板中打开光标处链接 Ctrl + Alt + Enter
在右侧创建笔记 Ctrl + Shift + N
增加文档属性 Ctrl + ;

Advanced Tables

名称 快捷键 自定义
Advanced Tables: Open table controls toolbar Ctrl + Shift + D

Floating Search

名称 快捷键 自定义
Floating Search: Search Obsidian Globally Ctrl + Shift + O

Outliner

名称 快捷键 自定义
Outliner: Fold the list Ctrl +
Outliner: Move list and sublists down Ctrl + Shift +
Outliner: Move list and sublists up Ctrl + Shift +
Outliner: Show System Info Ctrl + Alt + Shift + I
Outliner: Unfold the list Ctrl +

QuickAdd

名称 快捷键 自定义
QuickAdd: 碎碎念 Ctrl + Q
QuickAdd: Todo Alt + T

Templater

名称 快捷键 自定义
Templater: Create new note from template Alt + N
Templater: Insert Resource/Templater/Keyboard (kbd).md Alt + K
Templater: Jump to next cursor location Alt + Tab
Templater: Open Insert Template modal Alt + E
Templater: Replace templates in the active file Alt + R

获取方法

在 Obsidian 设置 —— 快捷键 界面(打开开发者工具)跑一下如下脚本即可获得上面列表。修改其中注释行可以切换是否输出所有(包含未设置快捷键的指令)。分组是我自己设置的规则,并不完善,勉强够用。将结果粘贴到 Obsidian 中之后可以在大纲中拖动小标题进行排序。

(()=>{
const hotkey = keys => {
  let content = keys.trim()
  if(!(content && content.length) || content==='未设置') return '未设置'
  const keyNames = {
      "-": "minus",
      "=": "equal",
      "`": "backtick",
      "[": "leftSquareBracket",
      "]": "rightSquareBracket",
      "\\": "backslash",
      ";": "semicolon",
      "'": "singleQuotationMark",
      ",": "comma",
      ".": "period",
      "/": "forwardSlash",
      "↑": "up",
      "↓": "down",
      "←": "left",
      "→": "right",
  }
  return content.replace(/([a-z0-9\[\];',.\/\\`\-=↑↓←→]+)/gi, (m, s)=>{
    const className = 'key-'+(/^[a-z0-9]+$/i.test(s) ? s.toLowerCase() : keyNames[s])
    return `<kbd class=${className}>${s}</kbd>`
  })
}
const getGroupCode = (name, group)=> `
## ${name}

| 名称 | 快捷键 | 自定义 |
| --- | --- | --- |
${group.map(item=>`| ${item.name} | ${item.hotkeys} | ${item.custom ?  '✍' : ''} |\n`).join('')}
`
const groups = {}
const getGroupName = name => {
  if(/:/.test(name)) return name.split(/:\s*/)[0]
  if(/标签页|标签组|转到.*标签/.test(name)) return '标签列表'
  if(/\/取消|^(插入|删除|添加|设为)|小标题|^(代码块|与.*一行互换|(有序|无序)列表|行内数学|引用)$/.test(name)) return '编辑'
  return '未分组'
}
const addToGroup = (name, hotkeys, custom) => {
  const groupName = getGroupName(name)
  if(!groups[groupName]) groups[groupName] = []
  groups[groupName].push({name, hotkeys, custom})
}
document.querySelectorAll('.hotkey-list-container .setting-item').forEach(item=>{
  let hotkeys = ''
  item.querySelectorAll('.setting-hotkey').forEach((key, n)=>hotkeys += `${n ? '<br>' : ''}${hotkey(key.textContent)}`)
  // if(!hotkeys) return
  if(!hotkeys || hotkeys==='未设置') return
  addToGroup(
    item.querySelector('.setting-item-name').textContent,
    hotkeys,
    Boolean(item.querySelector('.setting-restore-hotkey-button')))
})
let result = ''
Object.keys(groups).forEach(name=>{
  result += getGroupCode(name, groups[name])
})
console.log(result)
})()
©2022~2023 稻米鼠. Last build at 2023/12/5 00:00:21