oeasy教您玩转vim - 47 - # 使用标记
使用标记
回忆上节课内容🤔
有了这个
range
、address
我们可以做很多事情跳转
:44
复制和剪切
1,3d
3,$y
%d o
配合搜索
/oeasy/,$y
5;/oeasy/d
其实还有一种
address
是
mark
标记还记得
mark
标记 是什么意思?🤔
查看手册📕
:h mark
可以查看相应的细节

我们可以使用m来定义一个标记
比如我们在第
3
行ma我们就在 第
3
行 标记了一个mark
叫做a
这个标记能看见么?
查看标记
我们用
:marks
就可以看到里面有了一个新
mark
名字叫做
a
注意这个
a
包括行、列坐标
还有具体文本

查看具体标记
:marks abc
查看具体abc这三个mark

跳转到引用
ma
定义了一个名字叫
a
的mark
'a
可以将光标从任意位置跳转到 标记
a
注意
单引号是跳转到标记
寄存器是放在后面的
这个也可以配合行命令来操作

'ay
就是把a
标记那行,放入默认寄存器可以用
:reg
查看'a,'b
就是把从a
标记那行,到b
标记那行'a,'b
相当于3,5
是 {range}如果我想使用标记
也想使用寄存器怎么办?
单双引号
:'a,'by o
'a,'b
是 {range}y
是 yank复制o
是制定的寄存器

如下是寄存器情况

^J
是换行的标记
操控marks

marks
不可见,但是可以存储文件信息小写字母
ma
用于当前文件
内部
大写字母
mA
可以
跨文件
定义marks
0-9
的数字标记可以预先放到
~/.viminfo
的配置文件中可以查看指定的标记
:marks a
也可以删除标记
:delm(arks) a
甚至清空所有标记,
:delm(arks)!
常用标记
'[
上一次修改或复制的第一行或第一个字符']
上一次修改或复制的最后一行或最后一个字符'<
上一次在可视模式下选取的第一行或第一个字符'>
上一次在可视模式下选取的最后一行或最后一个字符''
上一次跳转之前的光标位置'"
上一次关闭当前缓冲区时的光标位置'^
上一次插入字符后的光标位置'.
上一次修改文本后的光标位置'(
当前句子的开头')
当前句子的结尾'{
当前段落的开头'}
当前段落的结尾
总结
我们这次研究了
mark
的定义和使用mb
定义'b
跳转可以对
marks
查询:delm(arks)!
删除三种
marks
小写 本文件内
大写 跨文件
数字 配置文件中
可以在命令行中,使用标记
'a,'by
从标记a的行复制到标记b的行'a,'bt.
把从a到b的行复制到当前位置'a,'bmG
把从a到b的行移动到文档最后命令行模式可真是太方便了!
可是,你知道吗?
命令行模式来自于ed
本是当时的无奈之举?
怎么回事?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)