## 概述

内置 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)` | 链接 ↗ |
| `![图片](url)` | 🖼 alt |

## 使用场景

- 编写日报、周报
- 编辑 Markdown 文档
- 快速记录笔记
- 代码片段编辑

编辑器会在保存时返回编辑后的内容，取消时返回空。
