আউটলাইন পথ সমাপ্তির মাধ্যমে পয়েন্টে অর্গ-আইডি লিঙ্ক Inোকান


12

বর্তমানে অভ্যন্তরীণ org- মোড org-id লিঙ্কগুলি সন্নিবেশ করানোর জন্য, আমি একটি শিরোনামে নেভিগেট করছি বা এটি এজেন্ডা ভিউতে টানছি (সিএ এর শিরোনাম পরীক্ষা অনুসন্ধান আরটিইটি), ক্লাচের সাথে লিঙ্কটি সংরক্ষণ করব (org-store-link) যেখানে ফিরে যাবে where আমি লিঙ্কটি সন্নিবেশ করতে চাই, তারপরে সিসি ক্লের সাথে লিঙ্কটি sertোকাতে চাই (org-insert-link)।

পরিবর্তে, আমি একটি কীটি মানচিত্র করতে পছন্দ করব যা আমাকে org-refile (সিসি সিডাব্লু) এর অনুরূপ ট্যাব সমাপ্তি ব্যবহার করে বর্তমান পয়েন্টে একটি লিঙ্ক সন্নিবেশ করতে দেয়। উদ্দিষ্ট ফলাফলটি ফর্মের একটি org-id অভ্যন্তরীণ লিঙ্ক হবে:

[[id:d7534b2f-c221-4dea-8566-d5ce3e4e1b78][Example Link]]

Org-id.el- এর মাধ্যমে দেখে মনে হচ্ছে org-id-get-with-outline- পাথ-সমাপ্তি এই উদ্দেশ্যে তৈরি করা হয়েছে। আমি চেষ্টা করেছিলাম:

(global-set-key "\C-ci" (lambda () (interactive) (org-id-get-with-outline-path-completion)))

তবে এটি ইচ্ছাকৃতভাবে কাজ করে নি।

আমার init.el ফাইলটিতে নিম্নলিখিতগুলি রয়েছে:

;; Use global IDs
(require 'org-id)
(setq org-id-link-to-org-use-id t)

;; Update ID file .org-id-locations on startup
(org-id-update-id-locations)

;; Refile options
(setq org-refile-targets (quote ((nil :maxlevel . 9) (org-agenda-files :maxlevel . 9))))
(setq org-refile-use-outline-path 'file)
(setq org-outline-path-complete-in-steps t)
(setq org-refile-allow-creating-parent-nodes t)

আপনি একটি "-" অনুপস্থিত org-id-get-with outline-path-completion। এটাই কি সমস্যা?
এরিকস্টোকস

দুর্ভাগ্যক্রমে নয় - এটি কেবল একটি টাইপোগ্রাফিক ত্রুটি ছিল। আমি প্রশ্ন আপডেট করেছি।
sk8ingdom

খুব খারাপ. কীভাবে ব্যর্থ হচ্ছে? আমি চেষ্টা করার পরে এটি কাজ করে।
এরিকস্টোকস

ফাংশন অবশ্যই বলা হয়। এটি আমাকে প্রবেশের অনুরোধ জানায়, ট্যাব সমাপ্তির মাধ্যমে আমাকে নেভিগেট করতে দেয় (যা দুর্দান্ত এবং উদ্দেশ্য হিসাবে কাজ করে), তবে আমি যখন লিঙ্কটি আটকানোর পরিবর্তে প্রবেশটি চাপি তখন এটি সিসির মতো একই কার্সারটিকে বর্তমান শিরোনামে নিয়ে যায় C চ (আউটলাইন-আপ-শিরোনাম)।
sk8ingdom

আমি ভেবেছিলাম এটি একটি পুরানো org সংস্করণের কারণে ঘটেছে, তবে Emacs 24.5-এ সাম্প্রতিকতম চেষ্টা করেছি তাই এটি অবশ্যই আমার কনফিগারেশনের কিছু হতে পারে। কেউ কি নিশ্চিত করতে পারেন যে উপরে আমার কোডটি তাদের জন্য একটি লিঙ্ক প্রবেশ করিয়েছে?
sk8ingdom

উত্তর:


6

আমি org- মোড উত্সে ঘুরে দেখলাম এবং একটি ন্যূনতম নথিভুক্ত বৈশিষ্ট্যটি পেয়েছি । যদি আপনি কোনও ফাংশন সংজ্ঞায়িত করেন তবে org-TYPE-complete-linkএটি লিঙ্কের ধরণের সম্পূর্ণতা সরবরাহ করতে ব্যবহৃত হবে TYPE। সুতরাং আমাদের কেবল এমন একটি ক্রিয়া সংজ্ঞায়িত করতে হবে org-id-complete-linkযা আমাদের সমাপ্তি করে এবং লিঙ্কটি ফেরত দেয় ("আইডি:" উপসর্গ সহ)।

(defun org-id-complete-link (&optional arg)
  "Create an id: link using completion"
  (concat "id:"
          (org-id-get-with-outline-path-completion)))

সাধারণত লিঙ্কটি withোকান (সহ C-c C-l), টাইপ হিসাবে "আইডি:" নির্বাচন করুন এবং সমাপ্তির ফাংশনটি আগুনে ছড়িয়ে পড়বে।

সম্পাদনা: org-mode9.0 সংস্করণ হিসাবে কেবল উপরে উপরে ফাংশনটি সংজ্ঞায়িত করা আর কাজ করে না ( রেফ )। পরিবর্তে আপনি org-link-parametersব্যবহারের জন্য সমাপ্তি ফাংশন যোগ করতে হবে

(org-link-set-parameters "id"
                         :complete 'org-id-complete-link)

এটি দুর্দান্ত এবং উদ্দেশ্য হিসাবে কাজ করে! আমি একমাত্র সংশোধন করেছিলাম - org-refile-টার্গেটগুলিকে org-id-get-with-outline-path-সমাপ্তির যুক্তি হিসাবে যুক্ত করা। এইভাবে, আমি আমার org ফাইলগুলির যে কোনও থেকে লিঙ্কগুলি ধরতে পারি। আপনার সাহায্যের জন্য ধন্যবাদ!
sk8ingdom

@ sk8ingdom আপনি কি চূড়ান্ত সমাধান অন্তর্ভুক্ত করতে প্রশ্নটি আপডেট করতে পারবেন? আমি নিশ্চিত নই যে TARGETS may be a setting for ‘org-refile-targets’ to define eligible headlines.
ডকটির

চূড়ান্ত সমাধানটি কেবলমাত্র উপরের ফাংশনটি সংজ্ঞায়িত করা এবং org-link-set-parametersআপনি org-mode9 ব্যবহার করছেন কিনা তা কল করার org-id-get-with-outline-path-completionজন্য রয়েছে org-refile-targetsyou সমস্ত কিছুর জন্য সহায়তা দেখুন, তবে একটি সাধারণ সেটিংস ((org-agenda-files :maxlevel . 3) (nil :maxlevel . 2))যা এজেন্ডা ফাইলগুলির 3 স্তরের এবং বর্তমান বাফারে 2 টি সীমাবদ্ধ করে।
এরিকস্টোক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.