ऑर्गमोड क्लिपबोर्ड से लिंक डालें?


9

क्या सिस्टम क्लिपबोर्ड से सीधे ऑर्ग-मोड लिंक डालने का एक सरल तरीका है? मैं सफ़ारी में एक URL का चयन करने और उस लिंक को सीधे org-mode दस्तावेज़ में डालने के बारे में सोच रहा हूँ।


1
इसके अलावा, कैप्चर का उपयोग करके लिंक को स्वचालित रूप से सम्मिलित करने के लिए बुकमार्कलेट को कॉन्फ़िगर करना वास्तव में अच्छा है। यहां देखें: orgmode.org/worg/org-contrib/org-protocol.html
mbork

जवाबों:


12

आपका प्रश्न इस बात के संबंध में बहुत विशिष्ट नहीं है कि आप किस प्रकार के लिंक चाहते हैं और जिसे आप "सरल" मानते हैं। यह मानते हुए कि आप निम्न फॉर्म का लिंक चाहते हैं:

[[target][description]]

डिफ़ॉल्ट वर्कफ़्लो (URL को अपने क्लिपबोर्ड में डालने के बाद) है:

C-c C-l C-y RET description RET

प्रवेश करना एक descriptionवैकल्पिक है; यदि आप एक निर्दिष्ट नहीं करते हैं, तो लिंक फॉर्म का होगा

[[target]]

काफी सरल। यह विंडोज मशीन पर अपेक्षित के रूप में काम करता है, लेकिन किसी कारण से मैकॉले पर Emacs में फ़ायरफ़ॉक्स या सफारी से एक URL को कॉपी नहीं कर सकता / सकती है Emacs 25.0.50 के साथ
Alain

@ मैं मैकओएस पर नहीं हूं इसलिए मैं इसका परीक्षण नहीं कर सकता, लेकिन आप क्लिपबोर्ड की सामग्री को चिपकाने के x-clipboard-yankबजाय इसका उपयोग करने का प्रयास कर सकते yankहैं। यह कमांड डिफ़ॉल्ट रूप से एक कुंजी के लिए बाध्य नहीं है, इसलिए आपको इसका उपयोग करके कॉल करना होगा M-x। यदि यह समस्या हल करती है, तो आप निश्चित रूप से इसके लिए (के माध्यम से (global-set-key (kbd "C-c y") 'x-clipboard-yank)) एक सुविधाजनक कुंजी बंधन स्थापित कर सकते हैं ।
इसका अजायबघर

3

आप दोनों में से किसे पसंद करते हैं, इसके आधार पर, दो कार्य हैं जो यह देखने के लिए जांचते हैं कि क्या क्लिपबोर्ड पर एक 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")))))

3

मैंने एक 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 उस बफ़र में।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.