如何强制组织模式在另一个框架中打开链接?

时间:2012-01-16 14:50:17

标签: emacs org-mode

在Org-mode中,可以有链接和顶部开放链接。由http://orgmode.org/orgcard.txt在Org-mode中列出 C-u C-c C-o mouse-3 强制链接在另一个窗口中打开。如何对帧进行相应的操作,即如何强制链接在另一帧中打开?

我想要的是 C-c C-o 按默认工作但 C-u C-c C-o 强制链接在另一帧中打开。

(有关窗口和框架的区别,请参阅http://www.gnu.org/software/emacs/manual/html_node/emacs/Frames.html。)

我在23.3.1中运行Org-mode 7.6。

3 个答案:

答案 0 :(得分:5)

我刚刚测试过,您可以将org-open-at-point作为自定义函数包装在(let )中来实现。

在这种情况下,我只是在当前org-link-frame-setup前加上您想要的find-file-other-frame前缀,以确保如果您在其他链接类型上使用该命令,它将不会失败。

(defun zin/org-open-other-frame ()
  "Jump to bookmark in another frame. See `bookmark-jump' for more."
  (interactive)
  (let ((org-link-frame-setup (acons 'file 'find-file-other-frame org-link-frame-setup)))
    (org-open-at-point)))

我怀疑你需要将它绑定到C-u C-c C-o以外的键序列,除非Emacs允许你专门将它绑定到该序列。

答案 1 :(得分:1)

查看变量org-link-frame-setupM-x customize-variable RET org-link-frame-setup)。文档字符串应该解释这种方法。

答案 2 :(得分:0)

我刚刚在非自定义的emacs中对此进行了测试:

emacs -q
GNU Emacs 24.0.92.1 (i386-mingw-nt5.1.2600) of 2011-11-30 on MARVIN
Org-mode version 7.7

在类似以下内容的链接上运行C-c C-oC-u C-c C-o时:

file:~/Dropbox/org/test.org::*Test

我最终在两种情况下都打开了一个新框架。 C-u C-u C-c C-o在我的有效emacsclient会话中打开test.org文件。将链接更改为.../org/test.txt时,它仍会在新框架中打开,但是无法创建新文件(我假设我没有正确关联.txt,这是可能的)。

使用[mailto:test@test.org][test-mail]]进行测试也会导致默认情况下出现新帧。


编辑:org-link-frame-setup的值如下(它也是默认值,因为它来自emacs -q):

Its value is ((vm . vm-visit-folder-other-frame)
 (gnus . org-gnus-no-new-news)
 (file . find-file-other-window)
 (wl . wl-other-frame))