在新/相邻窗口中的 emacs 中打开可点击文本

在新/相邻窗口中的 emacs 中打开可点击文本

目前我有一个模式(准确地说是magit),当我有可点击的文字将缓冲区切换到文件。不过,有时我更喜欢在新窗口或相邻窗口中打开。有可能做到吗?

附言。我所说的窗口是指 Emacs 窗口而不是 Emacs 框架。

答案1

magit-status缓冲区中你可以通常通过 实现这一点C-u RET
相同通常适用于info-mode和中的活动链接help-mode

但在 Emacs 中没有通用的方法可以做到这一点。作为您链接到的文档解释说,主要模式将自行决定如何响应可点击文本上的操作。
处方是:

实现链接涉及三个单独的步骤: (1) 当鼠标移到链接上时指示可点击性; (2) 使该链接上的 Mouse-2 执行某些操作; (3)设置跟随链接条件,使得链接服从鼠标1点击跟随链接。

然而,这不是必需的协议:

  • 没有任何内容表明需要全面实施,
  • 此外,不强制要求在激活时始终响应访问缓冲区,
  • 也不强制要求以相同的方式处理给定缓冲区中的所有链接;
  • 因此就是上面的“通常”。

您可以通过几个示例轻松观察到行为差异:

  • magit-status缓冲区根本不响应鼠标点击,只响应“键盘点击RET
  • info-mode只为“键盘点击”提供“在新窗口中打开”行为,但不为鼠标点击提供“在新窗口中打开”行为。
  • magit-status仅在访问文件时提供此行为,但在“访问”提交时不提供此行为。此外,“访问”(点击键盘)提交也会产生副作用,即首先检查它们,然后显示它们。
  • describe-function缓冲区中,指向源文件的链接始终打开新帧,没有其他选择。
  • describe-function缓冲区中,指向其他函数的链接始终加载当前缓冲区中的新内容,没有其他选择。
  • magit历史缓冲区和describe-function缓冲区中,[前进]`help-mode按钮[back]' and始终更新当前缓冲区。
  • describe-mode缓冲区中,指向“启用次要模式”交叉引用的链接只需在当前窗口中向下滚动即可。
  • dired-mode缓冲区不突出显示活动链接。

所有这些的实现细节可能相当复杂,但为了说明其中没有真正的魔力,请比较一下如何info-mode 以不同方式处理鼠标点击和键盘点击(比较defun Info-mouse-follow-nearest-node (click)defun Info-follow-nearest-node (&optional fork).

答案2

编辑:解决方案是安装组织玛吉特包裹。然后,您可以使用以下命令(来自 OrgMode)强制链接在新窗口中打开

Ctrl-u Ctrl-c Ctrl-o

要在新窗口中打开文件和缓冲区:

您可以使用以下命令在新窗口中打开缓冲区

Ctrl-x 4 b

请注意,您还可以使用类似的命令在新窗口中打开文件

Ctrl-x 4 f

相关内容