Показати гіперпосилання в органічному режимі як звичайний текст


25

Хоча зручно, як у org-режимі відображаються гіперпосилання, є випадки, коли я хочу бачити основний звичайний текст, наприклад [[./file.org][Title]]. Як я можу це зробити?

Я знаю про org-insert-link, але це не те, чого я хочу:

Cc Cl запускає команду org-insert-link, яка є інтерактивно складеною функцією Lisp в `org.el '.

...

Якщо в точці вже є посилання, ця команда дозволить вам редагувати частини посилань та описів.

Відповіді:


28

Я тільки що знайшов хорошу функцію в вихідному коді орга: M-x org-toggle-link-display.

Ось вихідний код, просто для розваги:

(defun org-toggle-link-display ()
  "Toggle the literal or descriptive display of links."
  (interactive)
  (if org-descriptive-links
      (progn (org-remove-from-invisibility-spec '(org-link))
         (org-restart-font-lock)
         (setq org-descriptive-links nil))
    (progn (add-to-invisibility-spec '(org-link))
       (org-restart-font-lock)
       (setq org-descriptive-links t))))

3
Це. Крім того, якщо ви хочете постійно зберігати таку поведінку, просто додайте її (setq org-descriptive-links nil)до файлу init.
відміняє

2
Зверніть увагу, що ця змінна доступна в меню "Org> Hyperlinks"
Ендрю Свон

12

Корисний спосіб зробити це

M-x font-lock-mode

який перемикає блокування шрифту. Коли блокування шрифту вимкнено, гіперпосилання видно в незадекларованому вигляді [[./file.org][Title]]. Це може бути корисним підходом для перегляду інших фрагментів розмітки в буфері.


3

Я використовував цю функцію. Він буде перемикатися між fundamental-modeі оригінальним режимом ( org-modeу цьому випадку). Це трохи дивно, але мені це подобається:

(defun illiterate ()
  (interactive)
  (let ((coding-system-for-read 'utf-8))
    (if (eq major-mode 'fundamental-mode)
        (revert-buffer nil t)
      (let ((pt (1+ (length
                     (encode-coding-string
                      (buffer-substring-no-properties (point-min) (point))
                      'utf-8))))
            (file-name (buffer-file-name)))
        (kill-buffer (current-buffer))
        (find-file-literally file-name)
        (goto-char pt)))))

2
Чому ви не можете просто викликати основний режим?
Малабарба

3
Звичайний fundamental-modeне працюватиме, оскільки org-modeнадмірно заблукає текстовими властивостями, і вони не скидаються. Це має бути таким, яким він є.
або-або

3

Низькотехнологічним способом є переміщення точки до початку тексту посилання та введіть Cd (тобто виклик org-delete-char). Це видаляє перший символ "[", щоб у вас більше не було правильно відформатованого гіперпосилання, а залишок його можна побачити як неочищений текст. Потім, коли ви закінчите, просто попросіть undoвідновити те, що було раніше.


1
Це не працювало для мене в Emacs 24.4 (9.0) на Mac OS X із встановленою системою org за замовчуванням.
Девід Дж.

0

Режим Org досягає ефекту зв'язку за допомогою наступного коду:

(if org-descriptive-links (add-to-invisibility-spec '(org-link)))

Це додає org-linkдо змінної, buffer-invisibility-specщо означає, що текст, у якого встановлено невидиме властивість, org-linkбуде приховано.

Використовуючи M-x visible-mode RETви можете скинути buffer-invisibility-specтимчасове значення до nil, що означає, що прихований текст буде показаний звідти далі.

Використовуючи M-x visible-mode RETзнову, ви можете скинути buffer-invisibility-specйого попереднє значення, яке знову приховає відповідні текстові частини.


@Drew Краще зараз? Я не знаю, що ще додати
клемера

@Drew Оновив відповідь
clemera
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.