How to let Org-mode open a link like [[file://file.org]] in current window instead of default in other window?

前端 未结 2 1752
轻奢々
轻奢々 2021-02-04 11:07

I hope to use [C-c C-o] to open a link like [[file://filename.org|filename]] in current window, instead of the default in other window.

How to

相关标签:
2条回答
  • 2021-02-04 11:36

    Here is the solution I wrote, inspired by the answer of @juanleon. It maps C-c C-o to open the link in the current window, but leaves the default behaviour for C-u C-c C-o (open in other window). It does so without breaking the universal argument function (which happens for me when I naively remap C-u C-c C-o).

    (defun org-force-open-current-window ()
      (interactive)
      (let ((org-link-frame-setup (quote
                                   ((vm . vm-visit-folder)
                                    (vm-imap . vm-visit-imap-folder)
                                    (gnus . gnus)
                                    (file . find-file)
                                    (wl . wl)))
                                  ))
        (org-open-at-point)))
    ;; Depending on universal argument try opening link
    (defun org-open-maybe (&optional arg)
      (interactive "P")
      (if arg
          (org-open-at-point)
        (org-force-open-current-window)
        )
      )
    ;; Redefine file opening without clobbering universal argumnet
    (define-key org-mode-map "\C-c\C-o" 'org-open-maybe)
    
    0 讨论(0)
  • 2021-02-04 11:55

    You need to change the value of org-link-frame-setup. Default value contains the cons (file . find-file-other-window). You may replace it by (file . find-file).

    0 讨论(0)
提交回复
热议问题