Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Emacs中跳转到mark_Emacs_Elisp - Fatal编程技术网

如何在Emacs中跳转到mark

如何在Emacs中跳转到mark,emacs,elisp,Emacs,Elisp,使用goto char设置标记命令C-SPC跳转到标记设置的位置需要使用什么变量或函数 (defun jump-to-mark () (interactive) (goto-char <WHAT PUT HERE>)) (取消跳转到标记() (互动) (转到字符) 我刚刚发现它是标记器,所以我的跳转功能应该是: (defun jump-to-mark () (interactive) (goto-char (mark-marker))) 我想你要找的是 pop g

使用
goto char
设置标记命令
C-SPC
跳转到标记设置的位置需要使用什么变量或函数

(defun jump-to-mark ()
  (interactive)
  (goto-char <WHAT PUT HERE>))
(取消跳转到标记()
(互动)
(转到字符)

我刚刚发现它是
标记器
,所以我的跳转功能应该是:

(defun jump-to-mark ()
  (interactive)
  (goto-char (mark-marker)))

我想你要找的是

pop global mark是中的一个交互式编译Lisp函数 `简单,埃尔

它绑定到C-xc-@,C-xc-SPC

(流行音乐全球标志)

弹出全局标记环并跳到顶部位置


另一个选项是C-x C-x,它运行命令
交换点和标记
交换点和标记
命令(绑定到C-xC-x)跳转到标记,并将当前位置(即跳转前)放在标记环顶部

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


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


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

若要保持与原始代码的内联,您只需将
(标记)
放在这里,而不是放在这里,它就会工作。这是因为
(标记)
返回标记的位置(就像
(点)
返回点的位置整数)


是的,但是这个命令会弹出标记环上的标记,这意味着它以后不再可用。这可能是OP的不良副作用。
C-u C-SPC
C-x C-SPC
具有相同的行为:它弹出标记环的标记,意味着该标记不再可用。这可能(也可能不是,这取决于你)是一个不受欢迎的副作用。
C-u C-SPC
C-x C-SPC
之间的区别在于前者作用于标记环(当前缓冲区的本地),而后者作用于全局标记环(所有缓冲区中的所有连续标记位置都存储在该标记环中).1回答问题也可能在这里使用mark比使用mark marker更为惯用,尽管在这个特定的上下文中它们似乎是可以互换的。
(defun jump-to-mark ()
  (interactive)
  (goto-char (mark)))