Esiste un modo semplice per inserire un collegamento in modalità org direttamente dagli appunti di sistema? Sto pensando di selezionare un URL in Safari e di inserire quel link direttamente in un documento in modalità organizzazione.
Esiste un modo semplice per inserire un collegamento in modalità org direttamente dagli appunti di sistema? Sto pensando di selezionare un URL in Safari e di inserire quel link direttamente in un documento in modalità organizzazione.
Risposte:
La tua domanda non è molto specifica rispetto al tipo di collegamento che desideri e a ciò che considereresti "semplice". Supponendo che intendi un link del seguente modulo:
[[target][description]]
il flusso di lavoro predefinito (dopo aver inserito l'URL negli Appunti) è:
C-c C-l C-y RET description
RET
L'immissione di a description
è facoltativa; se non ne specifichi uno, il link sarà del modulo
[[target]]
x-clipboard-yank
invece di yank
incollare il contenuto degli appunti. Questo comando non è associato a una chiave per impostazione predefinita, quindi dovrai chiamarlo usando M-x
. Se questo risolve il problema, puoi ovviamente impostare un comodo collegamento a chiave (tramite (global-set-key (kbd "C-c y") 'x-clipboard-yank)
).
A seconda di quale delle due preferite, ecco due funzioni che controllano se negli Appunti è presente un URL e, in tal caso, lo inseriscono nel punto come org-mode
collegamento. Il primo lo fa nella forma di [[url]]
, e il secondo nella forma di [[url][description]]
e ti lascia in description
campo.
(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")))))
Ho creato un pacchetto emacs che potrebbe aiutarti ad inserire collegamenti in modalità org dagli appunti:
org-cliplink
(disponibile anche via Melpa)Si effettua una richiesta HTTP all'URL dagli appunti e se la risposta contiene HTML si cerca di estrarre il titolo e inserisce il link org-mode in questo formato: [[URL][extracted-title]]
.
Ad esempio, dopo aver copiato il link di questa domanda , facendo M-x org-cliplink
in un buffer in modalità org inserirai:
[[https://emacs.stackexchange.com/q/3280][org mode - Orgmode insert link from clipboard? - Emacs Stack Exchange]]
e il link apparirà come hyperlink come modalità org - Orgmode inserisci il link dagli appunti? - Emacs Stack Exchange in quel buffer.