Org Mode посилання для відкриття каталогу в Dired


21

Я хотів би мати посилання на кшталт

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

відкривати безпосередньо в Dired, а не Finder (я на Mac), що це робить зараз. Чи є спосіб? (Звичайно, є спосіб. Це Emacs.)


Ви хочете, щоб file:посилання відкривались у режимі дистрибуції, чи ви, можливо, хочете додати новий тип посилань (наприклад diredit:) в режим org?
няня

Або гаразд, я думаю.
JohnJ

Ви можете прочитати, як додати тип гіперпосилання у посібнику з org тут: orgmode.org/manual/Adding-hyperlink-types.html Коли я отримаю можливість, я зіберу належну відповідь для вас.
няня

Можливо, це лише я, але що "дикредитувати"? Вбудований редактор каталогів називається Dired , тож це може бути просто помилка друку ? Якщо це пакет додатків, було б чудово, якби ви могли додати відповідне посилання до свого питання.
itsjeyd

1
@JohnJ Просто FYI ви можете набрати open -a Emacs.app --args -Qв командному рядку в OS X
застаріле

Відповіді:


21

Існують (принаймні) два способи. По-перше, введення C-u C-c C-oпосилання повинно змусити його відкриватися в emacs, а не у зовнішньому додатку. По-друге, ви можете назавжди змінити поведінку за замовчуванням, додавши запис до змінної org-file-apps:

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

який вказує в org-режимі використовувати "dired" для всіх посилань каталогів. Крім того, ви могли б скористатися customize-variableдля досягнення цього.

Причина того, що поведінка за замовчуванням відрізняється між OS X та Linux, полягає в тому, що вона org-file-apps-default-macosxмістить запис, що проходить(t . "open %s")


18

Ви можете змінити опис посилання таким чином:

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

Це відкриє посилання в Emacs із набранням тексту C-c C-o.


FYI: працює, але коли M-x org-lintпоказує Deprecated "file+emacs" link type. org-версія 9.2.6
червень
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.