조직 모드 하이퍼 링크를 일반 텍스트로 표시


25

org-mode가 하이퍼 링크를 표시하는 방법이 편리하지만 기본 텍스트 (예 :)를보고 싶을 때가 [[./file.org][Title]]있습니다. 어떻게해야합니까?

에 대해 알고 org-insert-link있지만 원하는 것은 아닙니다.

Cc Cl은 org.el에서 대화 형으로 컴파일 된 Lisp 함수 인 org-insert-link 명령을 실행합니다.

...

이미 링크가있는 경우이 명령을 사용하면 링크 및 설명 부분을 편집 할 수 있습니다.

답변:


28

방금 조직 소스 코드에서 멋진 기능을 발견했습니다 M-x org-toggle-link-display.

다음은 재미를위한 소스 코드입니다.

(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
이. 또한이 동작을 영구적으로 유지하려면 (setq org-descriptive-links nil)init 파일에 추가 하십시오.
undostres

2
이 변수는 "조직> 하이퍼 링크"메뉴에서 액세스 할 수 있습니다
앤드류 스완

12

이를 수행하는 유용한 방법은

M-x font-lock-mode

글꼴 잠금을 토글합니다. 글꼴 잠금이 해제되어 있으면 하이퍼 링크가 장식되지 않은 형태로 표시됩니다 [[./file.org][Title]]. 이것은 버퍼에서 다른 마크 업을 볼 때 유용한 접근 방법이 될 수 있습니다.


3

이 기능을 사용하고 있습니다. fundamental-mode원래 모드 ( org-mode이 경우) 간에 전환됩니다 . 조금 이상하지만, 나는 그것을 좋아한다 :

(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
왜 기본 모드를 호출 할 수 없습니까?
Malabarba

3
텍스트 속성이 너무 엉망이고 재설정 fundamental-mode되지 않으므로 일반 기능 이 작동 org-mode하지 않습니다. 그대로 있어야합니다.
abo-abo

3

최첨단 방법은 포인트를 링크 텍스트의 시작 부분으로 이동하고 Cd를 입력하는 것입니다 (예 : invoke org-delete-char). 그러면 첫 번째 "["문자가 제거되어 더 이상 올바른 형식의 하이퍼 링크가 없어 나머지 텍스트를 원시 텍스트로 볼 수 있습니다. 그런 다음 완료되면 undo이전에했던 것으로 복원하십시오.


1
기본 조직 설치가 설치된 Mac OS X의 Emacs 24.4 (9.0)에서는 작동하지 않았습니다.
David J.

0

조직 모드는 다음 코드를 사용하여 링크 효과를 얻습니다.

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

org-link변수에 추가 되어 buffer-invisibility-spec보이지 않는 속성이 설정된 텍스트 org-link가 숨겨집니다.

를 사용하여 임시를로 M-x visible-mode RET재설정 할 수 있습니다. 즉, 숨겨진 텍스트가 여기에 표시됩니다.buffer-invisibility-specnil

M-x visible-mode RET다시 사용하면 buffer-invisibility-spec이전 값으로 재설정 하여 관련 텍스트 부분을 다시 숨길 수 있습니다.


@ 드류 더 나은 지금? 무엇을 추가해야할지 모르겠습니다
clemera

대답 업데이트 @ 드류
clemera
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.