Orgmode inserisce il link dagli appunti?


9

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.


1
Inoltre, è davvero bello configurare un bookmarklet per inserire automaticamente il collegamento usando l'acquisizione. Vedi qui: orgmode.org/worg/org-contrib/org-protocol.html
mbork

Risposte:


12

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]]

Abbastanza semplice. Funziona come previsto su un computer Windows, ma per qualche motivo non è possibile copiare / incollare un URL da Firefox o Safari in Emacs su MacOS con Emacs 25.0.50
Alain,

@Alain Non sono su MacOS, quindi non posso provarlo, ma potresti provare a utilizzare x-clipboard-yankinvece di yankincollare 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)).
itsjeyd

3

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-modecollegamento. Il primo lo fa nella forma di [[url]], e il secondo nella forma di [[url][description]]e ti lascia in descriptioncampo.

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

3

Ho creato un pacchetto emacs che potrebbe aiutarti ad inserire collegamenti in modalità org dagli appunti:

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-cliplinkin 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.