> For the complete documentation index, see [llms.txt](https://slackwarecn.gitbook.io/slackbook_cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://slackwarecn.gitbook.io/slackbook_cn/chapter_13/how_to_move_around.md).

# 移动光标

在 vi 中可以用方向键移动光标，在 Emacs 中也可以。然而像 vi 一样，在键盘上出现方向键之前，Emacs 就存在了，所以除了方向键，vi 和 Emacs 都有各自用于移动光标的快捷键，vi 的好按，Emacs 的好记，不过要想有效率的使用 Emacs 快捷键也是可以办到的。这是基本的 Emacs 光标移动快捷键：

| 命令    | 作用                              |
| ----- | ------------------------------- |
| `C-f` | 将光标向右（向前，`f` 代表 forward）移动一个字符  |
| `C-b` | 将光标向左（向后，`b` 代表 backward）移动一个字符 |
| `C-n` | 将光标向下（`n` 代表 next）移动一行          |
| `C-p` | 将光标向上（`p` 代表 previous）移动一行      |

> 表 13.1：Emacs 光标移动

可以像 vi 一样指定重复执行命令的次数。如果你按下 `M-1` `M-0` `C-p` 或者 `C-u` `10` `C-p`，光标就会向上移动 10 行。如果你按了 `M-5` `C-f` 或者 `C-u` `5` `C-f` ，光标会向右移动 5 个字符。
