Existe-t-il un moyen simple d'insérer un lien en mode organisation directement à partir du presse-papiers du système? Je pense à sélectionner une URL dans Safari et à insérer ce lien directement dans un document en mode organisation.
Existe-t-il un moyen simple d'insérer un lien en mode organisation directement à partir du presse-papiers du système? Je pense à sélectionner une URL dans Safari et à insérer ce lien directement dans un document en mode organisation.
Réponses:
Votre question n'est pas très précise quant au type de lien que vous souhaitez et à ce que vous considérez comme "simple". En supposant que vous entendiez un lien du formulaire suivant:
[[target][description]]
le workflow par défaut (après avoir mis l'URL dans votre presse-papiers) est:
C-c C-l C-y RET description
RET
La saisie de a description
est facultative; si vous n'en spécifiez pas, le lien sera de la forme
[[target]]
x-clipboard-yank
au lieu de yank
coller le contenu du presse-papiers. Cette commande n'est pas liée à une clé par défaut, vous devrez donc l'appeler à l'aide de M-x
. Si cela résout le problème, vous pouvez bien sûr configurer une liaison de clé pratique pour lui (via (global-set-key (kbd "C-c y") 'x-clipboard-yank)
).
Selon laquelle des deux vous préférez, voici deux fonctions qui vérifient s'il y a une URL dans le presse-papiers et, si c'est le cas, l'insérez au point sous forme de org-mode
lien. Le premier le fait sous la forme de [[url]]
, et le second sous la forme de [[url][description]]
et vous laisse sur le description
terrain.
(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")))))
J'ai créé un package emacs qui peut vous aider à insérer des liens en mode organisation à partir du presse-papiers:
org-cliplink
(également disponible via Melpa)Il fait une requête HTTP à l'URL du presse - papiers et si la réponse contient HTML , il essaie d'extraire le titre et insère le lien org-mode dans ce format: [[URL][extracted-title]]
.
Par exemple, après avoir copié le lien de cette question , faire M-x org-cliplink
dans un tampon en mode org insérera:
[[https://emacs.stackexchange.com/q/3280][org mode - Orgmode insert link from clipboard? - Emacs Stack Exchange]]
et le lien apparaîtra en hyperlien comme mode org - Orgmode insérer un lien depuis le presse-papiers? - Emacs Stack Exchange dans ce tampon.