क्या सिस्टम क्लिपबोर्ड से सीधे ऑर्ग-मोड लिंक डालने का एक सरल तरीका है? मैं सफ़ारी में एक URL का चयन करने और उस लिंक को सीधे org-mode दस्तावेज़ में डालने के बारे में सोच रहा हूँ।
क्या सिस्टम क्लिपबोर्ड से सीधे ऑर्ग-मोड लिंक डालने का एक सरल तरीका है? मैं सफ़ारी में एक URL का चयन करने और उस लिंक को सीधे org-mode दस्तावेज़ में डालने के बारे में सोच रहा हूँ।
जवाबों:
आपका प्रश्न इस बात के संबंध में बहुत विशिष्ट नहीं है कि आप किस प्रकार के लिंक चाहते हैं और जिसे आप "सरल" मानते हैं। यह मानते हुए कि आप निम्न फॉर्म का लिंक चाहते हैं:
[[target][description]]
डिफ़ॉल्ट वर्कफ़्लो (URL को अपने क्लिपबोर्ड में डालने के बाद) है:
C-c C-l C-y RET description
RET
प्रवेश करना एक description
वैकल्पिक है; यदि आप एक निर्दिष्ट नहीं करते हैं, तो लिंक फॉर्म का होगा
[[target]]
x-clipboard-yank
बजाय इसका उपयोग करने का प्रयास कर सकते yank
हैं। यह कमांड डिफ़ॉल्ट रूप से एक कुंजी के लिए बाध्य नहीं है, इसलिए आपको इसका उपयोग करके कॉल करना होगा M-x
। यदि यह समस्या हल करती है, तो आप निश्चित रूप से इसके लिए (के माध्यम से (global-set-key (kbd "C-c y") 'x-clipboard-yank)
) एक सुविधाजनक कुंजी बंधन स्थापित कर सकते हैं ।
आप दोनों में से किसे पसंद करते हैं, इसके आधार पर, दो कार्य हैं जो यह देखने के लिए जांचते हैं कि क्या क्लिपबोर्ड पर एक URL है और यदि हां, तो इसे org-mode
लिंक के रूप में बिंदु पर डालें । पूर्व इसे के रूप में करता है [[url]]
, और उत्तरार्द्ध के रूप में [[url][description]]
और आपको description
क्षेत्र में छोड़ देता है ।
(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")))))
मैंने एक emacs पैकेज बनाया है जो क्लिपबोर्ड से org-mode लिंक डालने में आपकी मदद कर सकता है:
org-cliplink
(मेलपा के माध्यम से भी उपलब्ध)यह क्लिपबोर्ड से URL के लिए एक HTTP अनुरोध करता है और यदि प्रतिक्रिया में HTML होता है तो यह शीर्षक निकालने की कोशिश करता है और इस प्रारूप में org-mode लिंक सम्मिलित करता है [[URL][extracted-title]]
:।
उदाहरण के लिए, इस प्रश्न के लिंक को कॉपी करने के बाद , M-x org-cliplink
ऑर्ग-मोड बफर में करना सम्मिलित होगा:
[[https://emacs.stackexchange.com/q/3280][org mode - Orgmode insert link from clipboard? - Emacs Stack Exchange]]
और लिंक org मोड के रूप में हाइपरलिंक दिखेगा - क्लिपबोर्ड से ऑर्गमोड इंसर्ट लिंक? - Emacs Stack Exchange उस बफ़र में।