如何在Emacs中跳转到标记

jcu*_*bic 3 emacs elisp

什么变量或函数,我需要使用跳转到由设置标记的地方set-mark-command C-SPC使用goto-char

(defun jump-to-mark ()
  (interactive)
  (goto-char <WHAT PUT HERE>))
Run Code Online (Sandbox Code Playgroud)

ffe*_*tte 8

exchange-point-and-mark命令(结合到C-xC-x)跳至标记,并把当前位置(即,刚好在跳转之前)上的标记环的顶部.

副作用是该区域被激活.您可以传递前缀参数(即按下C-uC-xC-x)以避免这种情况.


如在其他答案中所提到的,在标记环中导航的另一种方式在于使用C-uC-SPC,其跳转到标记并将其从标记环中移除.因此,重复该命令使您以反向时间顺序浏览所有连续标记位置.但是,以这种方式访问​​的标记位置将丢失.

C-uC-SPCis 的兄弟,C-xC-SPC非常相似,但作用于全局标记环,在所有缓冲区中存储连续标记.

  • `Cu C-SPC` 与 `Cx C-SPC` 具有相同的行为:它弹出标记环的标记,意味着该标记不再可用。这可能(也可能不是,这取决于您)是不良副作用。`Cu C-SPC` 和 `Cx C-SPC` 之间的区别在于前者作用于标记环(当前缓冲区本地),而后者作用于全局标记环(其中所有连续的标记位置)缓冲区被存储)。 (2认同)

jcu*_*bic 5

我刚刚发现mark-marker我的跳转功能应该是:

(defun jump-to-mark ()
  (interactive)
  (goto-char (mark-marker)))
Run Code Online (Sandbox Code Playgroud)