vim中设置普通标记用mx(x为a~z),'x跳转到行首,`x精确定位列位置;大写标记mx跨文件保存,需确保viminfo启用;:marks查看,:delmarks管理标记。

在 Vim 中,可以使用 标记(marks) 功能为特定位置添加书签,之后随时跳转返回,无需记住行号或滚动查找。
如何设置和使用普通标记
Vim 支持两类标记:小写字母标记(作用于当前文件)和大写字母标记(作用于全局文件)。日常编辑长文本推荐用小写标记,简单高效。
- 光标停在想标记的位置,输入
m + 字母(如ma),即把当前位置记为标记a - 之后任意时刻输入
'a跳转到该行首,`a跳转到该行具体列位置(更精确) - 查看所有已设标记可用命令
:marks,会列出字母、行号、所在行简略内容
常用实用标记组合
几个高频场景的快捷用法:
-
mx(x 可换为 a/b/c/…)适合临时锚点,比如在修改开头时标记段落结尾,改完按`x瞬间回去 -
m'和m`是 Vim 自动维护的特殊标记:'记录上次退出插入模式的位置,`记录上次光标停留位置,直接按'或`就能回退 - 配合
Ctrl+o/Ctrl+i可以在跳转历史中来回穿梭(类似浏览器后退/前进),对多处跳转特别有用
跨文件或长期使用的标记
如果需要在多个文件间跳转,或希望标记长期有效(重启 Vim 也不丢),可用大写字母标记:
- 输入
mX(X 为大写字母,如mB),Vim 会把位置连同文件路径一起保存 - 之后在任何文件中输入
'B或`B,都能跳转回那个文件的对应位置 - 注意:这类标记依赖 viminfo 文件,默认开启,确保
set viminfo+=!已配置,否则重启后可能丢失
快速清理与调试
标记多了容易混淆,可主动管理:
- 删除单个标记:
:delmarks a(删除标记 a);删除多个::delmarks abx - 清空当前文件所有小写标记:
:delmarks a-z - 若跳转失败,先确认是否输错字母,再运行
:marks检查标记是否存在、是否被覆盖











