Czy istnieje prosty sposób na wstawienie łącza w trybie organizacji bezpośrednio ze schowka systemowego? Zastanawiam się nad wyborem adresu URL w przeglądarce Safari i wstawieniem tego linku bezpośrednio w dokumencie w trybie organizacji.
Czy istnieje prosty sposób na wstawienie łącza w trybie organizacji bezpośrednio ze schowka systemowego? Zastanawiam się nad wyborem adresu URL w przeglądarce Safari i wstawieniem tego linku bezpośrednio w dokumencie w trybie organizacji.
Odpowiedzi:
Twoje pytanie nie jest bardzo szczegółowe w odniesieniu do tego, jaki typ linku chcesz i co uważasz za „proste”. Zakładając, że masz na myśli link o następującej formie:
[[target][description]]
domyślny przepływ pracy (po umieszczeniu adresu URL w schowku) to:
C-c C-l C-y RET description RET
Wprowadzenie a descriptionjest opcjonalne; jeśli nie określisz, link będzie miał formę
[[target]]
x-clipboard-yankzamiast yankwkleić zawartość schowka. To polecenie nie jest domyślnie powiązane z kluczem, więc będziesz musiał go wywołać za pomocą M-x. Jeśli to rozwiąże problem, możesz oczywiście ustawić dla niego wygodne przypisanie klawiszy (via (global-set-key (kbd "C-c y") 'x-clipboard-yank)).
W zależności od tego, które z nich preferujesz, oto dwie funkcje, które sprawdzają, czy w schowku jest adres URL, a jeśli tak, wstaw go w miejscu jako org-modelink. Pierwszy robi to w formie [[url]], a drugi w formie [[url][description]]i pozostawia cię w descriptionpolu.
(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")))))
Stworzyłem pakiet emacs, który może ci pomóc w wstawianiu linków w trybie org ze schowka:
org-cliplink (dostępny również przez Melpa)To sprawia, że żądania HTTP do adresu URL ze schowka i jeżeli odpowiedź zawiera HTML próbuje wyodrębnić tytuł i wstawia odnośnik org-mode w tym formacie: [[URL][extracted-title]].
Na przykład po skopiowaniu linku do tego pytania , wykonanie M-x org-cliplinkw buforze trybu org wstawi:
[[https://emacs.stackexchange.com/q/3280][org mode - Orgmode insert link from clipboard? - Emacs Stack Exchange]]
a link będzie wyglądał na hiperłącze jako tryb organizacji - Orgmode wstawić link ze schowka? - Emacs Stack Exchange w tym buforze.