回答:
あなたの質問は、あなたが望むリンクのタイプや、あなたが「単純」であると考えるものに関して、それほど具体的ではありません。次の形式のリンクを意味すると仮定します。
[[target][description]]
デフォルトのワークフロー(URLをクリップボードに置いた後)は次のとおりです。
C-c C-l C-y RET description
RET
の入力description
はオプションです。指定しない場合、リンクは次の形式になります
[[target]]
x-clipboard-yank
代わりにyank
を使用してクリップボードの内容を貼り付けることができます。このコマンドはデフォルトではキーにバインドされていないため、を使用して呼び出す必要がありますM-x
。これで問題が解決した場合は、もちろん便利なキーバインディングを(を介して(global-set-key (kbd "C-c y") 'x-clipboard-yank)
)設定できます。
どちらを使用するかに応じて、クリップボードにURLがあるかどうかを確認し、ある場合は、org-mode
リンクとしてポイントに挿入する2つの関数を次に示します。前者はの形でそれを[[url]]
行い、後者はの形で[[url][description]]
それをあなたに残しますdescription
。
(defun insert-url-as-org-link-sparse ()
"If there's a URL on the clipboard, insert it as an org-mode
link in the form of [[url]]."
(interactive)
(let ((link (substring-no-properties (x-get-selection 'CLIPBOARD)))
(url "\\(http[s]?://\\|www\\.\\)"))
(save-match-data
(if (string-match url link)
(insert (concat "[[" link "]]"))
(error "No URL on the clipboard")))))
(defun insert-url-as-org-link-fancy ()
"If there's a URL on the clipboard, insert it as an org-mode
link in the form of [[url][*]], and leave point at *."
(interactive)
(let ((link (substring-no-properties (x-get-selection 'CLIPBOARD)))
(url "\\(http[s]?://\\|www\\.\\)"))
(save-match-data
(if (string-match url link)
(progn
(insert (concat "[[" link "][]]"))
(backward-char 2))
(error "No URL on the clipboard")))))
クリップボードから組織モードのリンクを挿入するのに役立つemacsパッケージを作成しました。
org-cliplink
(Melpaからも入手可能)クリップボードからURLへのHTTPリクエストを作成し、レスポンスにHTMLが含まれている場合は、タイトルを抽出し、次の形式で組織モードのリンクを挿入します[[URL][extracted-title]]
。
たとえば、この質問のコピーした後、リンクをやって、M-x org-cliplink
挿入しますORG-モードバッファに:
[[https://emacs.stackexchange.com/q/3280][org mode - Orgmode insert link from clipboard? - Emacs Stack Exchange]]
リンクは組織モードとしてハイパーリンクされたように見えます-Orgmodeはクリップボードからリンクを挿入しますか?-そのバッファ内のEmacs Stack Exchange。