Emacsのorg-modeでリンクの中身を表示させるための関数

Emacsのorg-modeでリンク生成するとき、ブラケットを2重で囲って

[[URLなどの場所][説明タイトル]]

とすると

 

 

と表示されるリンク表示機能があります。

リンク先を開くときは、マウスクリックや、C-c C-o でブラウザが開いたり(ローカルファイルならエディタの中で読み込んだり)便利に使っています。

 

でも、いったん2重のブラケットで閉じてしまうと、中身を表示できなくなるのが不満でした。

 

私はこれまでいちばん左のブラケットを削除して中身を表示させていたのですが、毎回ブラケットを削除して入力し直すというのは、なんとも後ろめたい気持ちがするんですよ。

 

「もっとまともな方法があるはず」と調べてみたらありました。

StackExchangeに質問と回答があったのでそのまま紹介します。

(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))))

 

名前の通りトグルになっているので、リンクの中身を見たいバッファで

M-x org-toggle-link-display

とすれば表示され、

もう一度 M-x org-toggle-link-displayとすればもとの表示に戻ります。

 

私はよく使うので、「C-c l」に割り当てることにしました。

(global-set-key "\C-cl" 'org-toggle-link-display)

 

これで、毎回味わういや〜な気持ちから脱出できました。

コメント