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
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)
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)
.