在linux系统的vim编辑器中,m是mark的缩写,核心功能是为当前光标所在位置设置标记,后续可以通过对应标记快速跳转到该位置,是提升长文件编辑效率的常用功能。

vim中m命令的基本用法
m命令的使用格式非常简单,只需要按下m键,再跟上一个小写或大写字母作为标记名即可。比如当前光标在第10行第5列,按下ma,就表示给当前位置打上标记为a。
标记名分为两类,小写字母a到z是局部标记,只在当前编辑的文件内有效;大写字母A到Z是全局标记,可以在不同的vim编辑文件之间跳转使用。
如何跳转到已设置的标记位置
设置好标记之后,可以通过以下两种方式跳转到对应位置:
- 单引号加标记名:比如按下
'a,会跳转到标记a所在行的行首位置 - 反引号加标记名:比如按下
`a,会跳转到标记a所在的精确行列位置
常用标记相关操作示例
下面通过实际的操作场景演示m命令的使用流程,假设我们要编辑一个较长的配置文件,需要在文件开头和中间段落之间来回切换。
设置局部标记
首先打开文件后,光标移动到文件开头,按下ma设置标记为a,然后滚动到文件中间需要修改的位置,按下mb设置标记为b。
跳转标记测试
此时如果需要回到文件开头,按下'a即可跳转到开头行首,修改完成后按下'b就能回到中间段落的行首,不需要手动滚动查找位置。
查看所有标记
如果想查看当前所有设置的标记,可以使用:marks命令,执行后会列出所有标记对应的文件位置信息,示例输出如下:
:marks
mark line col file/text
a 1 0 # 文件开头注释
b 50 10 server {
全局标记的使用场景
全局标记适合需要在多个文件之间切换的场景,比如同时编辑两个配置文件,在第一个文件中按下mA设置全局标记A,切换到第二个文件后按下'A,就可以直接跳回第一个文件的标记A位置。
其他相关注意事项
标记会随着文件的关闭而消失,不会永久保存,如果需要长期保存位置信息,可以手动在文件中添加注释标记。另外,vim还有一些自动生成的特殊标记,比如''表示上一次跳转前的位置,'.'表示上一次修改的位置,这些标记不需要手动设置,可以直接使用。
掌握m命令的用法之后,在编辑长文件或者多文件时,不需要反复滚动查找位置,能大幅提升文本编辑的效率,是linux下使用vim的必备技巧之一。