Mostrar hipervínculo en modo org como texto sin formato

25

Aunque es conveniente cómo el modo org muestra hipervínculos, hay momentos en los que quiero ver el texto plano subyacente, por ejemplo [[./file.org][Title]]. ¿Cómo puedo hacer esto?

Lo sé org-insert-link, pero no es lo que quiero:

Cc Cl ejecuta el comando org-insert-link, que es una función Lisp compilada interactiva en `org.el '.

...

Si ya hay un enlace en este punto, este comando le permitirá editar partes de enlaces y descripciones.

David J.
fuente

Respuestas:

28

Acabo de encontrar una buena función en el código fuente org: M-x org-toggle-link-display.

Aquí está el código fuente, solo por diversión:

(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.
fuente
3
Esta. Además, si desea mantener este comportamiento de forma permanente, simplemente agréguelo (setq org-descriptive-links nil)a su archivo de inicio.
deshace el
2
Tenga en cuenta que esta variable es accesible desde el menú "Org> Hipervínculos"
Andrew Swann
12

Una forma útil de hacer esto es

M-x font-lock-mode

que alterna el bloqueo de fuente. Cuando el bloqueo de fuente está desactivado, el hipervínculo es visible en su forma no decorada [[./file.org][Title]]. Este puede ser un enfoque útil para ver otras piezas de marcado en el búfer.

Andrew Swann
fuente
3

He estado usando esta función. Alternará entre fundamental-modey el modo original ( org-modeen este caso). Es un poco raro, pero me gusta:

(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
fuente
2
¿Por qué no puedes simplemente llamar al modo fundamental?
Malabarba
3
Simple fundamental-modeno funcionará, ya que se org-modemete demasiado con las propiedades del texto y no se restablecen. Tiene que ser como es.
abo-abo
3

Una forma de baja tecnología es mover el punto al comienzo del texto del enlace y escribir Cd (es decir, invocar org-delete-char). Eso elimina el primer carácter "[", de modo que ya no tiene un hipervínculo formateado correctamente y puede ver el resto como texto sin formato. Luego, cuando haya terminado, simplemente invoque undopara restaurarlo a lo que tenía anteriormente.

usuario98761
fuente
1
Esto no funcionó para mí en Emacs 24.4 (9.0) en Mac OS X con la instalación predeterminada de la organización.
David J.
0

El modo Org logra el efecto de enlace usando el siguiente código:

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

Esto se suma org-linka la variable, lo buffer-invisibility-specque significa que el texto que tiene establecida su propiedad invisible org-linkestará oculto.

Utilizando M-x visible-mode RETpuede restablecer buffer-invisibility-spectemporalmente a nil, lo que significa que el texto oculto se mostrará a partir de ahí.

Utilizando M-x visible-mode RETnuevamente, puede restablecer buffer-invisibility-specsu valor anterior, lo que ocultará las partes de texto relevantes nuevamente.

clemera
fuente
@Drew Mejor ahora? No sé qué más agregar
clemera
@Drew actualizó la respuesta
clemera