Mostra collegamento ipertestuale in modalità org come testo normale


25

Sebbene sia conveniente il modo in cui la modalità org mostra i collegamenti ipertestuali, ci sono momenti in cui voglio vedere il testo normale sottostante, ad es [[./file.org][Title]]. Come posso fare questo?

Lo so org-insert-link, ma non è quello che voglio:

Cc Cl esegue il comando org-insert-link, che è una funzione Lisp compilata interattiva in `org.el '.

...

Se è già presente un collegamento, questo comando consente di modificare parti del collegamento e della descrizione.

Risposte:


28

Ho appena trovato una bella funzione nel codice sorgente org: M-x org-toggle-link-display.

Ecco il codice sorgente, solo per divertimento:

(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
Questo. Inoltre, se vuoi mantenere questo comportamento in modo permanente, aggiungi semplicemente (setq org-descriptive-links nil)al tuo file init.
undostres

2
Nota che questa variabile è accessibile dal menu "Org> Collegamenti ipertestuali"
Andrew Swann,

12

Un modo utile per farlo è

M-x font-lock-mode

che attiva / disattiva il blocco dei caratteri. Quando il blocco caratteri è disattivato, il collegamento ipertestuale è visibile nella sua forma non decorata [[./file.org][Title]]. Questo può essere un approccio utile per vedere altri pezzi di mark-up nel buffer.


3

Sto usando questa funzione. Passerà fundamental-modedalla modalità originale alla modalità originale ( org-modein questo caso). È un po 'strano, ma mi piace:

(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
Perché non puoi semplicemente chiamare la modalità fondamentale?
Malabarba,

3
La pianura fundamental-modenon funzionerà, dal momento che org-moderovina troppo le proprietà del testo e non vengono ripristinate. Deve essere così.
abo-ABO

3

Un modo a bassa tecnologia è di spostare il punto all'inizio del testo del collegamento e digitare Cd (cioè invocare org-delete-char). Ciò rimuove il primo carattere "[", in modo che non si disponga più di un collegamento ipertestuale correttamente formattato e di vedere il resto come testo non elaborato. Quindi, quando hai finito, invoca semplicemente undoper ripristinarlo a quello che avevi in ​​precedenza.


1
Questo non ha funzionato per me in Emacs 24.4 (9.0) su Mac OS X con l'installazione dell'organizzazione predefinita.
David J.

0

La modalità Org ottiene l'effetto di collegamento utilizzando il seguente codice:

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

Ciò si aggiunge org-linkalla variabile, il buffer-invisibility-specche significa che il testo con la proprietà invisibile impostata org-linkverrà nascosto.

Usando M-x visible-mode RETpuoi resettare buffer-invisibility-spectemporaneamente a nil, il che significa che il testo nascosto verrà mostrato da lì in poi.

Usando di M-x visible-mode RETnuovo è possibile ripristinare buffer-invisibility-specil valore precedente, che nasconderà nuovamente le parti di testo rilevanti.


@Drew Meglio adesso? Non so cos'altro aggiungere
Clemera il

@Drew ha aggiornato la risposta
clemera il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.