Vim位置标记mark详解

转载自Vim教程网Vim位置标记mark详解-Vim入门教程(34)


Vim的位置标记可以实现在文档中的快速跳转。可以通过命令 mark 或缩写形式 m 手动设置位置标记,Vim也会自动记录某些自身感兴趣的位置点,辅助实现某些快速跳转功能。

Vim标记简介

Vim允许在打开的文件中放置自定义的标记。命令 ma 表示用 a 标记当前的光标位置。

可以在文本中使用 26 个标记 (az后AZ)。这些标记是不可见的,只是一个由 Vim 记住的位置。

小写标记值在每个缓冲区(即Vim打开文件)局部可见,而大写标记则全局可见。

标注设置者使用
a-z用户仅对当前的一个文件生效,也就意味着只可以在当前文件中跳转
A-Z用户全局标注,可以作用于不同文件。大写标注也称为「文件标注」。跳转时有可能会切换到另一个缓冲区
0-9viminfo0 代表 viminfo 最后一次被写入的位置。实际使用中,就代表 Vim 进程最后一次结束的位置。1 代表 Vim 进程倒数第二次结束的位置,以此类推

要跳到一个你定义的标记,可以使用命令 `{mark},这里 {mark} 是指定义标记的那个字母。所以,移到标记a的命令是:`a

命令 '{mark} (单引号加一个标记) 会移到标记所在行的行首。这与 ``mark` 命令是不同的, 因为后者是移到标记所在行上被标记的列位置,即同时恢复行、列的位置。

可以在Vim命令行模式下用命令 :marks 获得所有Vim标记的列表。命令行模式下使用命令 :h mark-motions 可以获取关于标注的更多帮助。

Vim自带一些特殊的标记,包括:

命令跳转至
'[`[上一次修改或复制的第一行或第一个字符
']`]上一次修改或复制的最后一行或最后一个字符
'<`<上一次在可视模式下选取的第一行或第一个字符
'>`>上一次在可视模式下选取的最后一行或最后一个字符
''`'上一次跳转之前的光标位置
'"`"上一次关闭当前缓冲区时的光标位置
'^`^上一次插入字符后的光标位置
'.`.上一次修改文本后的光标位置
'(`(当前句子的开头
')`)当前句子的结尾
'{`{当前段落的开头
'}`}当前段落的结尾

Vim标记示例

Vim标记在需要处理一个文件的两个相关地方的时候非常有用。

假设你在处理文末的时候需要查看文首的一些内容,先移动到行首,设置一个标记 s (start):ms

然后移动到你需要处理的地方,再设置一个标记 e (end):me

现在你可以随意移动,当需要看开头的地方,可以使用这个命令移到那里:``s’s`。

然后使用 '' 跳回来,或者用 ``e` 跳到你正在处理的文尾的地方。当然,这里使用 se 作标记名没有特别的含义,只是为了好记而已。

更多Vim内容,可以参考Vim教程网,我最近学习Vim都是从这个网站看资料,给这个持续更新干货的小姐姐点赞!??

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值