## 概述
内置 Markdown 编辑器是一个类 Typora 的终端编辑器,支持行级渲染切换和完整 Vim 模式。
核心特性:
- **行级渲染**:当前编辑行显示源码,其他行显示渲染效果
- **Vim 模式**:Normal、Insert、Visual、Command、Search 完整支持
- **实时预览**:标题、代码块、表格、列表等即时渲染
## Vim 模式
### 模式切换
| Normal | 深灰 | 默认浏览模式 |
| Insert | 青色 | 文本编辑模式 |
| Visual | 黄色 | 可视选择模式 |
| Command | 深灰 | 命令模式(`:`) |
| Search | 紫色 | 搜索模式(`/`) |
### Normal 模式快捷键
| `h/j/k/l` | 左/下/上/右移动 |
| `w/b/e` | 按词移动 |
| `0/$` | 行首/行尾 |
| `g/G` | 文件首/尾 |
| `i/a/A/I` | 进入 Insert 模式 |
| `o/O` | 在下方/上方插入新行 |
| `x/X` | 删除字符 |
| `dd` | 删除整行 |
| `dw/d$` | 删除词/删除到行尾 |
| `cc` | 修改整行 |
| `cw/c$` | 修改词/修改到行尾 |
| `yy` | 复制行 |
| `p` | 粘贴 |
| `u` | 撤销 |
| `Ctrl+R` | 重做 |
| `v` | 进入 Visual 模式 |
| `:` | 进入 Command 模式 |
| `/` | 进入 Search 模式 |
| `n/N` | 下一个/上一个搜索结果 |
### Insert 模式
| `Esc` | 返回 Normal 模式 |
| 其他 | 正常文本输入 |
### Visual 模式
| `h/j/k/l` | 扩展选择 |
| `y` | 复制选中内容 |
| `Esc` | 返回 Normal 模式 |
### Command 模式
| `:w` | 保存并提交 |
| `:wq` | 保存并提交 |
| `:x` | 保存并提交 |
| `:q` | 取消编辑 |
| `:q!` | 取消编辑 |
### Search 模式
- 输入搜索词后按 `Enter` 开始搜索
- `n` 跳转到下一个匹配
- `N` 跳转到上一个匹配
## 全局快捷键
| `Ctrl+S` | 保存并提交 |
| `Ctrl+Q` | 取消编辑 |
| `PageUp/PageDown` | 翻页 |
## Markdown 渲染
### 标题
```
# 一级标题 → ◆ 一级标题
## 二级标题 → ◇ 二级标题
### 三级标题 → 〈 三级标题
#### 四级标题 → › 四级标题
```
### 代码块
代码块会渲染为带边框的样式:
```
┌─ rust ────────────┐
│ let x = 42; │
│ println!("{}", x);│
└───────────────────┘
```
支持语法高亮,语言标识从围栏行提取(如 ` ```rust`)。
### 表格
自动对齐列宽,渲染为美观的表格格式:
```
│ Header1 │ Header2 │
├────────┼────────┤
│ cell1 │ cell2 │
```
### 其他元素
| `**粗体**` | **粗体** |
| `*斜体*` | *斜体* |
| `~~删除线~~` | ~~删除线~~ |
| `` `代码` `` | `代码` |
| `- 列表项` | • 列表项 |
| `- [ ] 任务` | ○ 任务 |
| `- [x] 完成` | ● 完成 |
| `> 引用` | │ 引用 |
| `[链接](url)` | 链接 ↗ |
| `` | 🖼 alt |
## 使用场景
- 编写日报、周报
- 编辑 Markdown 文档
- 快速记录笔记
- 代码片段编辑
编辑器会在保存时返回编辑后的内容,取消时返回空。