Gibt es eine einfache Möglichkeit, einen Link im Organisationsmodus direkt aus der Systemzwischenablage einzufügen? Ich denke darüber nach, eine URL in Safari auszuwählen und diesen Link direkt in ein Dokument im Organisationsmodus einzufügen.
Gibt es eine einfache Möglichkeit, einen Link im Organisationsmodus direkt aus der Systemzwischenablage einzufügen? Ich denke darüber nach, eine URL in Safari auszuwählen und diesen Link direkt in ein Dokument im Organisationsmodus einzufügen.
Antworten:
Ihre Frage ist nicht sehr spezifisch in Bezug darauf, welche Art von Link Sie möchten und was Sie als "einfach" betrachten würden. Angenommen, Sie meinen einen Link der folgenden Form:
[[target][description]]
Der Standardworkflow (nachdem Sie die URL in Ihre Zwischenablage eingefügt haben) lautet:
C-c C-l C-y RET description
RET
Die Eingabe von a description
ist optional. Wenn Sie keinen angeben, hat der Link die Form
[[target]]
x-clipboard-yank
anstelle von yank
einzufügen. Dieser Befehl ist standardmäßig nicht an einen Schlüssel gebunden, daher müssen Sie ihn mit aufrufen M-x
. Wenn dies das Problem löst, können Sie natürlich eine bequeme Schlüsselbindung dafür einrichten (via (global-set-key (kbd "C-c y") 'x-clipboard-yank)
).
Abhängig davon, welche der beiden Funktionen Sie bevorzugen, finden Sie hier zwei Funktionen, mit denen Sie überprüfen können, ob sich eine URL in der Zwischenablage befindet, und diese gegebenenfalls an einer bestimmten Stelle als org-mode
Link einfügen . Ersteres tut es in Form von [[url]]
und Letzteres in Form von [[url][description]]
und lässt Sie auf dem description
Feld.
(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")))))
Ich habe ein Emacs-Paket erstellt, das Ihnen beim Einfügen von Links im Organisationsmodus aus der Zwischenablage helfen kann:
org-cliplink
(auch über Melpa erhältlich)Es sendet eine HTTP-Anfrage an die URL aus der Zwischenablage. Wenn die Antwort HTML enthält, versucht es, den Titel zu extrahieren, und fügt den Link im Organisationsmodus in folgendem Format ein : [[URL][extracted-title]]
.
Zum Beispiel, nach dieser Frage des Kopieren Link , tat M-x org-cliplink
in einem org-Modus Puffer wird eingefügt:
[[https://emacs.stackexchange.com/q/3280][org mode - Orgmode insert link from clipboard? - Emacs Stack Exchange]]
und der Link wird als org-Modus verlinkt aussehen - Orgmode Link aus Zwischenablage einfügen? - Emacs Stack Exchange in diesem Puffer.