如何在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)))