Emacs 如何知道当前缓冲区已设置标记

Emacs 如何知道当前缓冲区已设置标记,emacs,elisp,Emacs,Elisp,有没有办法知道在lisp中有设置标记开始和起始点查询在哪里?我建议打开瞬态标记模式 瞬态标记模式将突出显示标记和当前点之间的区域 或者,您可以按C-x C-x在当前点和标记之间跳转,以查看标记的设置位置。我建议打开瞬态标记模式 瞬态标记模式将突出显示标记和当前点之间的区域 或者,您可以按C-x C-x在当前点和标记之间跳转,以查看标记的设置位置。使用变量“标记激活”: 如果mark==point确实是您要查找的区域,您可能还需要检查它: (if (and mark-active (/=

有没有办法知道在lisp中有设置标记开始和起始点查询在哪里?我建议打开瞬态标记模式

瞬态标记模式将突出显示标记和当前点之间的区域

或者,您可以按C-x C-x在当前点和标记之间跳转,以查看标记的设置位置。

我建议打开瞬态标记模式

瞬态标记模式将突出显示标记和当前点之间的区域

或者,您可以按C-x C-x在当前点和标记之间跳转,以查看标记的设置位置。

使用变量“标记激活”:

如果mark==point确实是您要查找的区域,您可能还需要检查它:

(if (and mark-active
    (/= (point) (mark)))
如果要编写需要定义区域的函数,可以使用interactive,如下所示:

(defun my-fn-that-requires-a-region (beg end)
  "Some documentation string mentioning BEG and END."
  (interactive "r")
  (message "%d / %d" beg end))
如果以交互方式调用,则必须设置标记,否则将生成错误。通过编程调用,必须传入任意两个值;未对参数进行验证。

使用变量标记active:

如果mark==point确实是您要查找的区域,您可能还需要检查它:

(if (and mark-active
    (/= (point) (mark)))
如果要编写需要定义区域的函数,可以使用interactive,如下所示:

(defun my-fn-that-requires-a-region (beg end)
  "Some documentation string mentioning BEG and END."
  (interactive "r")
  (message "%d / %d" beg end))

如果以交互方式调用,则必须设置标记,否则将生成错误。通过编程调用,必须传入任意两个值;没有对参数进行验证。

谢谢Ryan,如何在lisp中编程以了解标记模式是mark Now谢谢Ryan,如何在lisp中编程以了解标记模式是mark Now你能说明你需要它做什么吗?编写ELISP脚本?还是使用Emacs?我个人只想使用单键绑定,以实现不同的用途,这取决于mark ActiveScope。你能澄清一下你需要它做什么吗?编写ELISP脚本?还是使用Emacs?我个人只希望使用单键绑定,以实现不同的用途,这取决于标记活动