30

I'd like to have a link like

[[file:~/projects][Projects]]

open directly in Dired rather than Finder (I'm on a Mac), which is what it does now. Is there a way? (Of course there's a way. It's Emacs.)

8
  • Do you want file: links to open in diredit, or would you maybe like to add a new link type (such as diredit:) to org mode?
    – nanny
    Commented Mar 31, 2015 at 15:28
  • Either would be OK, I think.
    – JohnJ
    Commented Mar 31, 2015 at 15:44
  • You can read how to add a hyperlink type in the org manual here: orgmode.org/manual/Adding-hyperlink-types.html When I get the chance, I'll put together a proper answer for you.
    – nanny
    Commented Mar 31, 2015 at 15:59
  • 1
    No problem :) Have you tried opening [[file:~/projects][Projects]] in vanilla Emacs (launched via emacs -Q)? I'm on Linux, and org-mode opens directory links in Dired by default. I don't see why the default behavior should be different for OS X.
    – itsjeyd
    Commented Apr 10, 2015 at 13:12
  • 2
    @JohnJ Just FYI you can type open -a Emacs.app --args -Q on the command line on OS X
    – deprecated
    Commented Apr 15, 2015 at 3:01

4 Answers 4

30

There are (at least) two ways. First, typing C-u C-c C-o on a link should force it to be opened in emacs, rather than in an external app. Second, you can permanently override the default behavior by adding an entry to the variable org-file-apps:

(add-to-list 'org-file-apps '(directory . emacs))

which tells org-mode to use dired for all directory links. Alternatively, you could use customize-variable to achieve the same.

The reason that the default behavior is different between OS X and Linux is that org-file-apps-default-macosx contains a fall-through entry (t . "open %s")

0
27

You can modify the link description as follows :

     [[file+emacs:~/projects][Projects]]

It will open the link in Emacs with typing C-c C-o.

1
  • 3
    FYI: it works but when M-x org-lint it shows Deprecated "file+emacs" link type. org-version 9.2.6
    – jun
    Commented Oct 10, 2019 at 13:22
2

If you don't mind writing/executing lisp code you could do:

[[elisp: (find-file "~/projects")][Projects]]

This is what I do.

Maybe there are other possibilities if you check the manual carefully at https://orgmode.org/manual/External-Links.html

0

On Windows, with a link like this:

[[file:~/projects][Projects]]

Left mouse click opens the directory in File Explorer.

Right mouse click opens the directory in dired.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.