我需要使用什么变量或函数来跳转到使用的标记集的set-mark-command
C-SPC
位置goto-char
?
(defun jump-to-mark ()
(interactive)
(goto-char <WHAT PUT HERE>))
命令(exchange-point-and-mark
绑定到C-xC-x)跳转到标记,并将当前位置(即在跳转之前)放在标记环的顶部。
副作用是该区域被激活。您可以传递前缀参数(即 press C-uC-xC-x)来避免这种情况。
如其他答案所述,在标记环中导航的另一种方法是使用C-uC-SPC,它跳转到标记并将其从标记环中删除。因此,重复该命令可让您按时间倒序浏览所有连续的标记位置。但是,以这种方式访问的标记位置会丢失。
C-uC-SPCis的兄弟C-xC-SPC,它非常相似,但作用于全局标记环,它将连续标记存储在所有缓冲区中。
我刚刚发现mark-marker
我的跳转功能应该是:
(defun jump-to-mark ()
(interactive)
(goto-char (mark-marker)))
我想你正在寻找的是
pop-global-mark 是 `simple.el' 中的一个交互式编译 Lisp 函数。
它绑定到 Cx C-@、Cx C-SPC。
(pop-global-mark)
弹出全局标记环并跳到顶部位置。
另一个选项是运行命令的 Cx Cx exchange-point-and-mark
。
要与您的原始代码保持一致,您可以只放(mark)
WHAT PUT HERE 而不是放在这里,它会起作用。这是因为(mark)
返回标记的位置(就像(point)
返回点的位置整数一样)。
(defun jump-to-mark ()
(interactive)
(goto-char (mark)))