# 快捷键
1. 以下按键除特别说明外，都不区分大小写
2. 在macOS下，`Ctrl`对应于`Command`，在Vi模式下除外
3. 按键序列`Ctrl+G, I`表示先同时按下`Ctrl`和`G`，释放，然后按下`I`并释放
4. 可以通过查看配置文件`vnotex.json`来获取一个**完整的最新的快捷键列表**或者修改默认快捷键

## 通用
- `Ctrl+G, E`  
是否扩展内容区。
- `Ctrl+Alt+N`  
在当前文件夹下新建笔记。
- `Ctrl+F`  
页内查找和替换。
- `Ctrl+Alt+F`  
高级查找。
- `Ctrl+J`/`Ctrl+K`  
VNote的很多部件均支持`Ctrl+J`和`Ctrl+K`导航。
- `Ctrl+Left, Mouse`  
任意滚动。
- `Ctrl+Shift+T`  
恢复上一个关闭的文件。
- `Ctrl+Alt+L`  
打开灵犀页。
- `Ctrl+Alt+I`  
打开快速访问。
- `Ctrl+G, X`  
关闭当前标签页。
- `Ctrl+G, D`  
定位到当前笔记所在文件夹。
- `Ctrl+G, O`  
打开大纲弹出窗口。

## 文本编辑器
- `Ctrl+S`  
保存当前更改。
- `Ctrl+Wheel`  
鼠标滚轮实现放大/缩小页面。
- `Ctrl+J/K`  
向下/向上滚动页面，不会改变光标。
- `Ctrl+N/P`  
激活自动补全。
    - `Ctrl+N/P`  
    浏览补全列表并插入当前补全。
    - `Ctrl+E`  
    取消补全。
    - `Enter`  
    插入补全。
    - `Ctrl+[`或者`Escape`  
    结束补全。

### 文本编辑
- `Shift+Left`, `Shift+Right`, `Shift+Up`, `Shift+Down`  
扩展选定左右一个字符，或上下一行。
- `Ctrl+Shift+Left`, `Ctrl+Shift+Right`  
扩展选定到单词开始或结尾。
- `Ctrl+Shift+Up`, `Ctrl+Sfhit+Down`  
扩展选定到段尾或段首。
- `Shift+Home`, `Shift+End`  
扩展选定到行首和行尾。
- `Ctrl+Shift+Home`, `Ctrl+Shift+End`  
扩展选定到笔记开始或结尾处。
- `Ctrl+Shift+G`  
跳转到指定行。
- `Ctrl+C/X`  
在没有选中文本时复制/剪切整行。
- `Ctrl+L`  
选择当前行。
- `Alt+Up/Down`  
向上/向下移动行。
- `Shift+Alt+Up/Down`  
向上/向下复制行。
- `Ctrl+Shift+K`  
删除行。

## Markdown 编辑器
### 阅读模式
- `H`/`J`/`K`/`L`  
导航，对应于左/下/上/右方向键。
- `Ctrl+U`  
向上滚动半屏。
- `Ctrl+D`  
向下滚动半屏。
- `gg`/`G`  
跳转到笔记的开始或结尾。（区分大小写）。
- `Ctrl + +/-`  
放大/缩小页面。
- `Ctrl+Wheel`  
鼠标滚轮实现放大/缩小页面。
- `Ctrl+0`  
恢复页面大小为100%。
- 标题跳转
    - `<N>[[`：跳转到上`N`个标题
    - `<N>]]`：跳转到下`N`个标题
    - `<N>[]`：跳转到上`N`个同层级的标题
    - `<N>][`：跳转到下`N`个同层级的标题
    - `<N>[{`：跳转到上`N`个高一层级的标题
    - `<N>]}`：跳转到下`N`个高一层级的标题

### 编辑模式
和文本编辑器共享一样的快捷键。

- `Ctrl+T`  
编辑当前笔记或者保存更改并退出编辑模式。
- `Ctrl+G, Q`  
放弃当前更改并退出编辑模式。

#### 文本编辑
- `Ctrl+B`  
插入粗体；再次按`Ctrl+B`退出。如果已经选择文本，则将当前选择文本加粗。
- `Ctrl+I`  
插入斜体；再次按`Ctrl+I`退出。如果已经选择文本，则将当前选择文本改为斜体。
- `Ctrl+;`  
插入行内代码；再次按`Ctrl+;`退出。如果已经选择文本，则将当前选择文本改为行内代码。
- `Ctrl+'`  
插入代码块；再次按`Ctrl+'`退出。如果已经选择文本，则将当前选择文本嵌入到代码块中。
- `Ctrl+.`  
插入公式；再次按`Ctrl+.`退出。如果已经选择文本，则将当前选择文本改为公式。
- `Ctrl+G, .`  
插入公式块；再次按`Ctrl+G, .`退出。如果已经选择文本，则将当前选择文本改为公式块。
- `Ctrl+/`  
插入表格。
- `Ctrl+<Num>`  
插入级别为`<Num>`的标题。`<Num>`应该是1到6的一个数字。如果已经选择文本，则将当前选择文本改为标题。
- `Ctrl+7`  
删除当前行或所选择文本的标题标记。
- `Tab`/`Shift+Tab`  
增加或减小缩进。如果已经选择文本，则对所有选择的行进行缩进操作。
- `Shift+Enter`  
插入两个空格然后换行，在Markdown中类似于软换行的概念。

## 展览模式
`Ctrl+G, W`会使VNote进入**展览模式**。该模式中，VNote会在一些主要部件中显示最多两个字母，按下这些字母可以跳转到对应的部件。
