Hyperlink im Organisationsmodus als Nur-Text anzeigen

25

Obwohl es praktisch ist, wie der org-Modus Hyperlinks anzeigt, möchte ich manchmal den zugrunde liegenden Klartext sehen, z [[./file.org][Title]]. Wie kann ich das machen?

Ich weiß darüber Bescheid org-insert-link, aber es ist nicht das, was ich will:

Cc Cl führt den Befehl org-insert-link aus, eine interaktive kompilierte Lisp-Funktion in org.el.

...

Wenn bereits ein Link vorhanden ist, können Sie mit diesem Befehl Link- und Beschreibungsteile bearbeiten.

David J.
quelle

Antworten:

28

Ich habe gerade eine nette Funktion in dem org - Quellcode: M-x org-toggle-link-display.

Hier ist der Quellcode, nur zum Spaß:

(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))))
David J.
quelle
3
Dies. Wenn Sie dieses Verhalten dauerhaft (setq org-descriptive-links nil)beibehalten möchten, fügen Sie es einfach zu Ihrer Init-Datei hinzu.
Undostres
2
Beachten Sie, dass Sie auf diese Variable über das Menü "Org> Hyperlinks" zugreifen können
Andrew Swann,
12

Ein nützlicher Weg, dies zu tun, ist

M-x font-lock-mode

Hiermit wird die Schriftsperre umgeschaltet. Wenn die Schriftsperre deaktiviert ist, wird der Hyperlink in seiner nicht dekorierten Form angezeigt [[./file.org][Title]]. Dies kann ein nützlicher Ansatz sein, um andere Markierungen im Puffer anzuzeigen.

Andrew Swann
quelle
3

Ich habe diese Funktion verwendet. Es wird zwischen fundamental-modeund dem ursprünglichen Modus umgeschaltet (org-mode in diesem Fall). Es ist ein bisschen komisch, aber ich mag es:

(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)))))
abo-abo
quelle
2
Warum kannst du nicht einfach den Fundamental-Modus aufrufen?
Malabarba
3
Normal fundamental-modefunktioniert nicht, da die org-modeTexteigenschaften zu stark verändert werden und sie nicht zurückgesetzt werden. Es muss so sein, wie es ist.
abo-abo
3

Eine einfache Möglichkeit besteht darin, den Punkt an den Anfang des Verknüpfungstextes zu verschieben und Cd einzugeben (dh aufzurufen org-delete-char). Dadurch wird das erste "[" Zeichen entfernt, sodass Sie keinen ordnungsgemäß formatierten Hyperlink mehr haben und den Rest als Rohtext sehen können. Wenn Sie fertig sind, rufen Sie einfach auf undo, um die vorherigen Einstellungen wiederherzustellen.

user98761
quelle
1
Dies funktionierte in Emacs 24.4 (9.0) unter Mac OS X mit der Standardinstallation der Organisation nicht.
David J.
0

Im Org-Modus wird der Verknüpfungseffekt mithilfe des folgenden Codes erzielt:

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

Dies fügt org-linkder Variablen hinzu , buffer-invisibility-specwas bedeutet, dass der Text, für den die unsichtbare Eigenschaft festgelegt org-linkist, ausgeblendet wird.

Mit können M-x visible-mode RETSie buffer-invisibility-spectemporär auf zurücksetzen nil, dh der verborgene Text wird von da an angezeigt.

Durch M-x visible-mode RETerneutes Verwenden können Sie buffer-invisibility-specden vorherigen Wert wiederherstellen, wodurch die relevanten Textteile wieder ausgeblendet werden.

clemera
quelle
@Drew Better jetzt? Ich weiß nicht, was ich noch hinzufügen soll
Clemera
@Drew Die Antwort wurde aktualisiert
clemera