Mostrar hiperlink no modo organizacional como texto sem formatação


25

Embora seja conveniente como o modo organizacional mostra hiperlinks, há momentos em que desejo ver o texto simples subjacente, por exemplo [[./file.org][Title]]. Como posso fazer isso?

Eu sei org-insert-link, mas não é o que eu quero:

Cc Cl executa o comando org-insert-link, que é uma função Lisp compilada interativa em `org.el '.

...

Se já houver um link no momento, este comando permitirá editar as partes do link e da descrição.

Respostas:


28

Acabei de encontrar uma função agradável no código fonte org: M-x org-toggle-link-display.

Aqui está o código fonte, apenas por diversão:

(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
Este. Além disso, se você deseja manter esse comportamento permanentemente, basta adicionar (setq org-descriptive-links nil)ao seu arquivo init.
undostres

2
Nota esta variável é acessível a partir do menu "Org> hiperlinks"
Andrew Swann

12

Uma maneira útil de fazer isso é

M-x font-lock-mode

que alterna o bloqueio de fonte. Quando o bloqueio de fonte está desativado, o hiperlink fica visível em sua forma não decorada [[./file.org][Title]]. Essa pode ser uma abordagem útil para ver outras partes da marcação no buffer.


3

Eu tenho usado esta função. Alterna entre fundamental-modeo modo original ( org-modeneste caso). É um pouco estranho, mas eu gosto:

(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
Por que você não pode simplesmente chamar o modo fundamental?
Malabarba

3
O Plain fundamental-modenão funcionará, pois org-modemexe muito com as propriedades do texto e elas não são redefinidas. Precisa ser do jeito que é.
precisa

3

Uma maneira de baixa tecnologia é mover o ponto para o início do texto do link e digite Cd (ou seja, invocar org-delete-char). Isso remove o primeiro caractere "[", para que você não tenha mais um hiperlink formatado corretamente e possa ver o restante como texto bruto. Então, quando terminar, basta invocá undo-lo para restaurá-lo ao que você tinha anteriormente.


1
Isso não funcionou para mim no Emacs 24.4 (9.0) no Mac OS X com a instalação organizacional padrão.
18747 David J.

0

O modo organizacional obtém o efeito de link usando o seguinte código:

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

Isso adiciona org-linkà variável, o buffer-invisibility-specque significa que o texto cuja propriedade invisível está definida org-linkserá oculto.

Usando M-x visible-mode RETvocê pode redefinir buffer-invisibility-spectemporariamente para nil, o que significa que o texto oculto será mostrado a partir daí.

Usando M-x visible-mode RETnovamente, você pode redefinir buffer-invisibility-specpara o valor anterior, o que ocultará as partes relevantes do texto novamente.


@ Drew Melhor agora? Eu não sei o que mais acrescentar
clemera

@Drew Atualizou a resposta
clemera
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.