<aside>
📢
just have fun with cua-mode and get rid of remember following!
</aside>
Emacs vs Vim 跳转对照表
✅ 光标移动(基本跳转)
| 功能 |
Emacs |
Vim |
| 向上/下/左/右(Arrows) |
C-p / C-n / C-b / C-f |
k / j / h / l |
| 向前/后翻页(PageUp/PageDown) |
C-v / M-v |
Ctrl-f / Ctrl-b |
| 向下滚动半屏 |
❌ |
Ctrl-d |
| 向上滚动半屏 |
❌ |
Ctrl-u |
| 文件头/文件尾 |
M-< / M-> |
gg / G |
| 按单词移动 |
M-f / M-b |
w / b |
| 按单词移动(含符号) |
M-c / M-DEL |
W / B |
✅ 跳转到指定位置
| 功能 |
Emacs |
Vim |
| 跳转到指定行号 |
M-g M-g(或 M-g g) |
:行号 或 行号G |
| 跳转到指定列号 |
M-g M-<tab> |
:列号 |
| 跳转到百分比位置 |
M-g M-p |
百分比% |
✅ 标记与跳回(Mark & Jump)
| 功能 |
Emacs |
Vim |
| 设置标记 |
C-SPC or C-@ |
m + 字母 |
| 跳回标记 |
C-u C-SPC |
' + 字母 |
| 跳回上一个位置 |
C-u C-SPC(循环) |
'' 或 Ctrl-o |
| 跳转到下一个位置 |
C-u C-SPC(循环) |
Ctrl-i |
| 浏览跳转历史(前进后退) |
C-x C-@ |
Ctrl-o / Ctrl-i |
✅ 搜索跳转
| 功能 |
Emacs |
Vim |
| 向前搜索 |
C-s |
/ |
| 向后搜索 |
C-r |
? |
| 下一个匹配 |
C-s / C-r |
n |
| 上一个匹配 |
C-M-s / C-M-r |
N |
✅ 缓冲区/窗口跳转
| 功能 |
Emacs |
Vim |
| 切换 buffer |
C-x b |
:b |
| 前后切换buffer |
C-x Left/Right |
? |
| Ctrl-Tab |
? |
C-^ |
| 列出所有 buffer |
C-x C-b |
:ls |
| 窗口间跳转 |
C-x o |
Ctrl-w + 方向键或 Ctrl-w w |
| 分割窗口 |
C-x 2(水平)/ C-x 3(垂直) |
:split / :vsplit |
✅ 代码结构跳转(IDE 功能)
| 功能 |
Emacs |
Vim |
| 跳转到函数定义 |
M-.(需要 etags 或 gtags) |
Ctrl-](需要 ctags) |
| 跳回 |
M-* |
Ctrl-t |
| 跳转到符号/变量定义 |
M-. 或 xref-find-definitions |
gd |
| 列出引用 |
M-? |
gr |