vim不记录“上次修改位置”,但提供两种跳转机制: ` 和'`跳转到上次编辑位置,Ctrl+o/Ctrl+i遍历跳转历史;两者均在普通模式下生效,互补提升编辑效率。

Linux 中 vim 本身不记录“上次修改位置”这个概念,但提供了两个非常接近且实用的跳转机制:一个是跳转到上次编辑位置(即最后插入/修改的光标点),另一个是跳转到上次跳转前的位置(类似浏览器的“返回”)。两者都通过普通模式下的快捷键实现,无需额外配置。
跳转到上次编辑位置(最常用)
这是最贴近“上次修改的光标处”的操作。vim 会在每次进入插入模式并完成修改(比如按 Esc 退出)后,自动记住该位置。之后可用:
- ` `` `(两个反引号):跳回上一次编辑结束的位置(即 Esc 退出插入模式时的光标所在处)
- `'`(单引号 + 反引号):跳回上一次编辑所在的行首(仅行号,列位置不保留)
注意:这两个跳转都只保留最近一次编辑位置,多次编辑会覆盖前一次记录;它们对删除、替换等修改操作同样生效。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
跳转到跳转历史中的上一个位置
如果你之前用 gg、G、:50、/xxx 等命令移动过光标,vim 会把每个跳转点记入跳转列表(jump list)。可用:
-
Ctrl+o:向上遍历跳转历史(回到前一个跳转位置) -
Ctrl+i:向下遍历跳转历史(相当于“前进”,与 Ctrl+o 反向)
这个列表独立于编辑位置,适合在函数间、文件不同区域来回查看时使用,最多可保存 100 条记录。
补充说明
以上跳转均在普通模式下生效;若当前处于插入或底行模式,请先按 Esc 返回普通模式。另外,`` 和 Ctrl+o 是互补而非重复的功能——前者专为编辑动作设计,后者服务于导航动作,日常配合使用效率更高。

















