পার্টিতে দেরিতে (এবং এখানে আমার প্রথম পোস্টটি, যাইহোক) তবে আমি মনে করি এটি অন্যের পক্ষেও কার্যকর হতে পারে। আবার ইমাসের অভ্যন্তরে ইয়াঙ্ক করার সময় গৃহীত উত্তরটি পুরোপুরি কাজ করে, তবে সিস্টেম ক্লিপবোর্ডে অনুলিপি করা প্রকৃত পাঠ্যটি এখনও পুরো অর্গ-মোড সিনট্যাক্স। আমি এমন কিছু চেয়েছিলাম যা org- মোড এবং ইমাস উভয়ের বাইরে একটি লিঙ্ক অনুলিপি করতে পারে । কেসগুলি ব্যবহার করুন: আমি ইদানীং প্রচুর ওয়েব ডেভ করে চলেছি এবং আমি প্রায়শই একাধিক ব্রাউজার ব্যবহার করি। এর মধ্যে কেবল একটিই C-c c-o
শর্টকাটের জন্য ডিফল্ট হতে পারে এবং কখনও কখনও আমি একটি পূর্বনির্ধারিত কোনও লিঙ্ক খুলতে চাই। এছাড়াও, সহকর্মীদের সাথে স্ল্যাক, এট সিটেরা লিঙ্কগুলি আটকানো।
দীর্ঘ গল্প সংক্ষেপে, আমি গৃহীত উত্তরটি মেশানো এবং মিলিয়ে এই সমাধানটি নিয়ে এসেছি :
(defun my-org-export-url ()
(interactive)
(let* ((link-info (assoc :link (org-context)))
(text (when link-info
(buffer-substring-no-properties (or (cadr link-info) (point-min))
(or (caddr link-info) (point-max))))))
(if (not text)
(error "Not in org link")
(string-match org-bracket-link-regexp text)
(kill-new (substring text (match-beginning 1) (match-end 1))))))
এটি ক্লিপবোর্ডে লিঙ্কটি কোনও org- মোড লিঙ্কের অংশ হিসাবে অনুলিপি করবে।
প্রকৃতপক্ষে, আমি পূর্ববর্তী উত্তরের সমাধান এবং এই নতুন ফাংশনটি আমার .emacs
নিজের, প্রতিটি নিজের কী-বাইন্ডিংয়ের সাথে সংহত করেছি । এখানে সম্পূর্ণ কোড:
(defun my-yank-org-link (text)
(if (derived-mode-p 'org-mode)
(insert text)
(string-match org-bracket-link-regexp text)
(insert (substring text (match-beginning 1) (match-end 1)))))
(defun my-org-copy-smart-url ()
(interactive)
(let* ((link-info (assoc :link (org-context)))
(text (when link-info
(buffer-substring-no-properties (or (cadr link-info) (point-min))
(or (caddr link-info) (point-max))))))
(if (not text)
(error "Not in org link")
(add-text-properties 0 (length text) '(yank-handler (my-yank-org-link)) text)
(kill-new text))))
(global-set-key (kbd "C-c c") 'my-org-copy-smart-url)
(defun my-org-export-url ()
(interactive)
(let* ((link-info (assoc :link (org-context)))
(text (when link-info
(buffer-substring-no-properties (or (cadr link-info) (point-min))
(or (caddr link-info) (point-max))))))
(if (not text)
(error "Not in org link")
(string-match org-bracket-link-regexp text)
(kill-new (substring text (match-beginning 1) (match-end 1))))))
(global-set-key (kbd "C-c e") 'my-org-export-url)
আমি চয়ন করেছেন C-c e
এবং C-c c
কী-বাইন্ডিং কারণ তারা ভালো স্মৃতিবর্ধনবিদ্যা হয় e
xport এবং c
পি করুন এবং তারা সংস্থা-মোডে অব্যবহৃত হয়। তারা একরকম ইতিমধ্যে বিদ্যমান keybinding সঙ্গে মাপসই C-c C-o
জন্যo
পেনিং লিঙ্কগুলির ।
if
, কারণ জিইউআই ইম্যাক্স ব্যবহার করার সময় এটি সর্বদা সম্পূর্ণ লিঙ্কটি ([[a]][b]]
) URL অংশ (a
) এর পরিবর্তে অনুলিপি করে থাকে