Afficher le lien hypertexte en mode organisation en texte brut

25

Bien qu'il soit pratique de voir comment le mode org affiche les hyperliens, il y a des moments où je veux voir le texte brut sous-jacent, par exemple [[./file.org][Title]]. Comment puis-je faire ceci?

Je sais org-insert-link, mais ce n'est pas ce que je veux:

Cc Cl exécute la commande org-insert-link, qui est une fonction Lisp interactive compilée dans `org.el '.

...

S'il existe déjà un lien au point, cette commande vous permettra de modifier les parties de lien et de description.

David J.
la source

Réponses:

28

Je viens de trouver une fonction bien dans le code source org: M-x org-toggle-link-display.

Voici le code source, juste pour le plaisir:

(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.
la source
3
Cette. De plus, si vous souhaitez conserver ce comportement en permanence, ajoutez simplement (setq org-descriptive-links nil)à votre fichier init.
undostres
2
Notez que cette variable est accessible depuis le menu "Org> Hyperliens"
Andrew Swann
12

Un moyen utile de le faire est

M-x font-lock-mode

qui bascule le verrouillage des polices. Lorsque le verrouillage des polices est désactivé, le lien hypertexte est visible dans sa forme non décorée [[./file.org][Title]]. Cela peut être une approche utile pour voir d'autres éléments de balisage dans le tampon.

Andrew Swann
la source
3

J'utilise cette fonction. Il basculera entre fundamental-modeet le mode d'origine ( org-modedans ce cas). C'est un peu bizarre, mais j'aime ça:

(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
la source
2
Pourquoi ne pouvez-vous pas simplement appeler le mode fondamental?
Malabarba
3
Plain fundamental-modene fonctionnera pas, car il org-modegâche trop les propriétés du texte et elles ne sont pas réinitialisées. Il faut que ce soit comme ça.
abo-abo
3

Un moyen peu technique consiste à déplacer le point au début du texte du lien et à taper Cd (c'est-à-dire invoquer org-delete-char). Cela supprime le premier caractère "[", de sorte que vous n'avez plus un lien hypertexte correctement formaté et que vous pouvez voir le reste en tant que texte brut. Ensuite, lorsque vous avez terminé, il vous suffit de l'invoquer undopour le restaurer à ce que vous aviez précédemment.

user98761
la source
1
Cela n'a pas fonctionné pour moi dans Emacs 24.4 (9.0) sur Mac OS X avec l'installation par défaut de l'organisation.
David J.
0

Le mode organisationnel produit l'effet de lien à l'aide du code suivant:

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

Cela s'ajoute org-linkà la variable, buffer-invisibility-specce qui signifie que le texte dont la propriété invisible est définie sur org-linksera masqué.

L' utilisation que M-x visible-mode RETvous pouvez réinitialiser buffer-invisibility-spectemporaire nil, ce qui signifie que le texte caché sera affiché à partir de là.

En utilisant à M-x visible-mode RETnouveau, vous pouvez rétablir buffer-invisibility-specsa valeur précédente, ce qui masquera à nouveau les parties de texte pertinentes.

clemera
la source
@Drew Better now? Je ne sais pas quoi d'autre ajouter
clemera
@Drew Mise à jour de la réponse
clemera