emacs 标记环

1. 什么是标记环


emacs中,标记的一个主要功能是界定区域,此外还有个作用就是记忆一个点供今后使用,在一个buffer里面可以用标记记忆16个点,称为“标记环”,

2. 标记环的基本变量


变量mark-ring-max 表示了一个buffer中标记环中的最大标记数,默认为16。
变量mark-ring 记录了所有标记,它是一个先进先出队列

3. 标记环实例:


给出一个mark-ring 的示例, 它是通过C-h v mark-ring 来得到的.

mark-ring is a variable defined in ‘simple.el’.
Its value is
(#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#)
Local in buffer encode_video.c; global value is nil

Automatically becomes permanently buffer-local when set.

Documentation:
The list of former marks of the current buffer, most recent first.

4. 将一个标记加入标记环


我们使用命令C-@ C-@ 把一个标记加入标记环,(C-space C-space)也可以,只是有的系统会拦截c-space 键
这个命令做了两件事,第一次按C-@时标记了一个点(此时已经加入标记环了),第二次按C-@时取消了当前标记的激活状态,
我们可以在minibuffer中看到提示Mark deactivated。

5. 在标记环中跳转


命令C-u C-@ 来选择上一个加入标记环的标记,如果选中的标记处于激活状态,它会取消其激活。
使用C-u C-@不会删除标记,仅是在标记环中不停的向前跳跃,注意这里我们只可能在当前buffer中的标记间跳跃,不会跑到其它的buffer里面去。

请注意, 区域选择也会默默的使用这个本地标记环.

6.其它(使用全局标记环)


另外在emacs中还存在一个全局标记环,C-@ C-@在把标记加入当前buffer标记环同时,也把标记加入了全局标记环,
我们可以用命令C-x C-@ (pop-global-mark)在全局标记环中选择。

标记环是emacs 特性,它能够完成大部分的标记任务。
至于达到vim 中 mA, mB, ma 等字符标记的功能,可以使用emacs 中寄存器 C-x r 功能,此处不详述.
另外emacs 还有书签功能,即把标记写到文件中,纵使关机再开机仍然保留,这可以用C-x m 功能,此处不详述.

你可能感兴趣的:(emacs,emacs,mark-ring)