組織モードのハイパーリンクをプレーンテキストとして表示する


25

org-modeがハイパーリンクを表示する方法は便利ですが、たとえば、などの基礎となるプレーンテキストを表示したい場合があります[[./file.org][Title]]。これどうやってするの?

私は知ってorg-insert-linkいますが、それは私が望むものではありません:

Cc Clは、org-insert-linkコマンドを実行します。これは、 `org.el 'にある対話型のコンパイル済みLisp関数です。

...

ポイントに既にリンクがある場合、このコマンドを使用すると、リンクと説明の部分を編集できます。

回答:


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ファイルに追加するだけです。
取り消し線14

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
なぜ基本モードを呼び出せないのですか?
マラバルバ14

3
プレーンfundamental-modeは機能しませんorg-mode。テキストプロパティを使いすぎてリセットされないためです。ありのままにする必要があります。
ABO-ABO

3

ローテクの方法は、ポイントをリンクテキストの先頭に移動してCdと入力する(つまり、invokeするorg-delete-char)ことです。これにより、最初の「[」文字が削除されるため、適切にフォーマットされたハイパーリンクはなくなり、残りのテキストは生のテキストとして表示されます。次に、完了したら、呼び出しundoて以前の状態に戻します。


1
デフォルトの組織がインストールされているMac OS XのEmacs 24.4(9.0)では、これは機能しませんでした。
デビッドJ. 14

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

@Drew回答が更新されました
clemera
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.